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
我在 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