Как включить модель в Django Model Serializer? - PullRequest
0 голосов
/ 10 сентября 2018

Допустим, у меня есть эта модель и сериализатор:

class Animal(models.Model):
    id = models.AutoField(primary_key=True)
    data_url = models.TextField(unique=True)

class AnimalSerializer(serializers.ModelSerializer):
    class Meta:
        model = Animal
        fields = '__all__'

Если я бегу:

animal = Animal.objects.filter(id=1).first()
data = serializers.serialize("json", animal)

Я получаю строку json, которая выглядит следующим образом:

[{"model": "zoo.animal", "pk": 1, "fields": {"id": "1", "sound": "woof"}]

Теперь, если я бегу:

animal = Animal.objects.filter(id=1).first()
animal_serialized = AnimalSerializer(animal)
animal = JSONRenderer().render(animal.data)

Я получаю строку json, которая выглядит следующим образом:

b'[{"id":1,"sound":"woof"}]'

Однако в этой строке json отсутствуют словари "model" и "pk" и "fields", это только поля. Как сделать так, чтобы мой AnimalSerializer также возвращал эти данные, как это происходит при запуске serializers.serialize ("json", animal)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...