Podążam za strukturą Django Rest Framework tutorial on serializers, ale znajduję nietypowe zachowanie. Gdzie repr print (serializer_instance) najwyraźniej miał drukować przydatnych inspekcję, mogę tylko dostać z powrotem tę reprezentację:Reprezentacja serializatora Django Rest Framework nie działa
<snippets.serializers.SnippetSerializer object at 0x10220f110>.
My code wydaje się wyrównać dokładnie z informacjami zawartymi w poradniku, i używam Django 1.7 i Python 2.7. Czy ktoś ma pojęcie, dlaczego tak się dzieje?
fragmenty/serializers.py:
from django.forms import widgets
from rest_framework import serializers
from snippets.models import Snippet, LANGUAGE_CHOICES, STYLE_CHOICES
class SnippetSerializer(serializers.ModelSerializer):
class Meta:
model = Snippet
fields = ('id', 'title', 'code', 'linenos', 'language', 'style')
fragmenty/models.py:
from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles
LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
STYLE_CHOICES = sorted((item, item) for item in get_all_styles())
class Snippet(models.Model):
created = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=100, blank=True, default='')
code = models.TextField()
linenos = models.BooleanField(default=False)
language = models.CharField(choices=LANGUAGE_CHOICES, default='python', max_length=100)
style = models.CharField(choices=STYLE_CHOICES, default='friendly', max_length=100)
class Meta:
ordering = ('created',)
shell:
$ python manage.py shell_plus
>>> from snippets.serializers import SnippetSerializer
>>> serializer = SnippetSerializer()
>>> serializer
<snippets.serializers.SnippetSerializer object at 0x10220f110>
>>> print repr(serializer)
<snippets.serializers.SnippetSerializer object at 0x10220f110>
Ja również nie widząc pełny „repr” wyjście na swojej skorupy, że poradnik sugeruje, że powinniśmy see - w/Django 1.6, niezależnie od tego, z jakiego serializatora korzystam. – maxm