【发布时间】:2018-09-01 13:49:08
【问题描述】:
这个问题可能有更简单的答案。但我不明白它是什么。请考虑这个例子
class ModelA(models.Model):
a1 = models.CharField(max_length=100, default="")
a2 = models.CharField(max_length=100, default="")
class ModelB(models.Model):
modela = models.ForeignKey(ModelA, on_delete=models.CASCADE)
b2 = models.CharField(max_length=100, default="")
使用下面的ModelBSerializer,我可以使用SerializerMethodField 的modela 字段获取ModelA 的a1 或a2 的值。
class ModelBSerializer(serializers.ModelSerializer):
modela = SerializerMethodField()
class Meta:
model = ModelB
fields = (
'modela',
'b2',
)
def get_b1(self, obj):
return obj.modela.a1 # or obj.modela.a2
但是如果我想要a1 和a2 怎么办?我希望它们与modela 和b2 一起包含在ModelBserializer 字段中。
【问题讨论】:
标签: django django-models django-rest-framework django-serializer