Допустим, у меня есть эта модель и сериализатор:
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)?