Python 如何使用DRF3在Django中获取整个JSON对象?
当我调用API(curl)时,我得到以下结果:Python 如何使用DRF3在Django中获取整个JSON对象?,python,json,django,Python,Json,Django,当我调用API(curl)时,我得到以下结果: {"id": 1, "name": "Sword", "persona": [1]} 我得到的是人物角色的“id”,但不是其中的属性。我该怎么做 Models.py: class Persona(models.Model): name = models.CharField(max_length=255) description = models.CharField(max_length=255) icon = models
{"id": 1, "name": "Sword", "persona": [1]}
我得到的是人物角色的“id”,但不是其中的属性。我该怎么做
Models.py:
class Persona(models.Model):
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
icon = models.CharField(max_length=255,default='1')
def __str__(self):
return self.name
class Equipment(models.Model):
personas = models.ManyToManyField(Persona)
name = models.CharField(max_length=255)
def __str__(self):
return self.name
Serializers.py:
class EquipmentSerializer(serializers.ModelSerializer):
personas = serializers.PrimaryKeyRelatedField(queryset=Persona.objects.all(), many=True)
name = serializers.CharField(max_length=255)
class Meta:
model = Equipment
fields = ('id', 'name', 'persona')
您需要两个步骤:
角色序列化程序类
:
class PersonaSerializer(serializers.ModelSerializer):
class Meta:
model = Persona
设备
一个:
class EquipmentSerializer(serializers.ModelSerializer):
personas = PersonaSerializer(source='personas', many=True)
name = serializers.CharField(max_length=255)
class Meta:
model = Equipment
fields = ('id', 'name', 'personas')