Python 如何在Django模型序列化程序中包含模型?

Python 如何在Django模型序列化程序中包含模型?,python,django,python-3.x,serialization,django-models,Python,Django,Python 3.x,Serialization,Django Models,假设我有这个模型和序列化程序: 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_

假设我有这个模型和序列化程序:

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"}]
b'[{"id":1,"sound":"woof"}]'
现在如果我跑步:

animal = Animal.objects.filter(id=1).first()
animal_serialized = AnimalSerializer(animal)
animal = JSONRenderer().render(animal.data)
我得到一个json字符串,如下所示:

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

然而,这个json字符串缺少“model”和“pk”以及“fields”字典,它只是字段。如何获取并使我的AnimalSerializer返回此数据,就像我运行序列化程序时一样。serialize(“json”,animal)?

序列化程序有什么问题。serialize方法?我需要向序列化添加深度,我的模型。Serializer类允许我传递depth=3参数