gpt4 book ai didi

python - 如何使用 DRF3 获取 Django 中的整个 JSON 对象?

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:10 25 4
gpt4 key购买 nike

当我调用 API (curl) 时,我得到以下信息:

{"id": 1, "name": "Sword", "persona": [1]}

我得到了角色的“id”,但没有得到其中的属性。我该怎么做?

模型.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

序列化器.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')

最佳答案

您需要两个步骤:

  1. 创建一个 Persona 序列化器类:

    class PersonaSerializer(serializers.ModelSerializer):
    class Meta:
    model = Persona
  2. 然后您可以将此序列化器“链接”到设备序列化器:

    class EquipmentSerializer(serializers.ModelSerializer):
    personas = PersonaSerializer(source='personas', many=True)
    name = serializers.CharField(max_length=255)

    class Meta:
    model = Equipment
    fields = ('id', 'name', 'personas')

要更深入地了解上述内容,请查看以下示例答案:

How do I include related model fields using Django Rest Framework?

祝你好运:)

关于python - 如何使用 DRF3 获取 Django 中的整个 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43793198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com