我需要将2个表序列化为一个JSON
对象,我已经使用过DRF并且知道如何将单个模型序列化为JSON
。这些是2个型号 -
class FooOne(models.Model):
field_a = models.CharField(max_length=255, null=False)
field_b = models.CharField(max_length=255, null=False)
field_c = models.CharField(max_length=255, null=False)
class FooTwo(models.Model):
field_fk = models.ForeignKey(FooOne)
field_d = models.CharField(max_length=255, null=False)
field_e = models.CharField(max_length=255, null=False)
我如何实现这一目标。
答案 0 :(得分:1)
如果你想使用嵌套表示来做。
class FooOneSerializer(serializers.ModelSerializer):
class Meta:
model = FooOne
fields = (field_a, field_b, field_c)
class FooTwoSerializer(serializers.ModelSerializer):
field_fk = FooOneSerializer()
class Meta:
model = FooTwo
fields = (field_fk, field_d, field_e)
如果您只想以非嵌套表示形式返回所有内容
from rest_framework.renderers import JSONRenderer
data = FooOneSerializer(instance=foo_one_instance).data
data.update(FooTwoSerializer(instance=foo_two_instance).data)
json_data = JSONRenderer().render(data)