首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Django Rest框架序列化2个表

使用Django Rest框架序列化2个表
EN

Stack Overflow用户
提问于 2016-08-11 12:59:54
回答 1查看 1.5K关注 0票数 1

我需要将2个表序列化为一个JSON对象,我使用过DRF,知道如何将单个模型序列化为JSON。这是两个模型-

代码语言:javascript
复制
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)

我该如何实现这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 13:05:46

如果您想使用嵌套表示法来执行此操作。

代码语言:javascript
复制
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)

如果您想只返回非嵌套表示形式中的所有内容

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38887562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档