Django REST 结合元。楷模

Django REST combining Meta. models

我在 model.py

中有 2 个模型
class a(models.Model):
  id = models.AutoField(primary_key=True)
  name=models.CharField(max_length=200, blank=False)
class b(models.Model):
  id = models.ForeignKey(a, null=True, blank=True)
  age = models.IntegerField(null=True, blank=True)

此处的 ID 是唯一的。, 在我的序列化器表单中,我需要单个 API 表单中的姓名和年龄。

class conform(serializers.ModelSerializer):
    class  Meta:
        fields = ( 'name','age')
        model = a

没有加年龄字段怎么加年龄字段才符合。

提前致谢

要从 "a" 模型到达 "age" 字段,您可以通过 "related_name" 属性模型来完成。在你的情况下它可以是这样的:

class b(models.Model):     
    a = models.ForeignKey(a, unique=True, related_name="profile")
    age = models.IntegerField(null=True, blank=True)

然后你可以像这样在序列化器中使用它:

class conform(serializers.ModelSerializer):
    class  Meta:
        fields = ( 'name','profile__age')
        model = a