【问题标题】:django modelserializer mergedjango 模型序列化器合并
【发布时间】:2018-05-17 04:54:18
【问题描述】:

使用django2.0.2 ptyhon3.4

MySerializer.py
class post(serializers.ModelSerializer)
    class Meta:
        model = post
        fields = ("postuid","useruid","content")

class reply(serializers.ModelSerializer)
    class Meta:
        model = reply
        fields = ("replyuid","postuid","useruid","content")

class postview(serializers.ModelSerializer)
    reply = reply()
    post  = post()
    fields = ('reply','post')???

我想要这样的表格

{"postview":{"post":{postfield},"reply":[{replyfield}]}

怎么做

postview 不是模型序列化器?

【问题讨论】:

    标签: django django-models django-serializer


    【解决方案1】:

    您可以改用serializers.Serializer 类:

    class postview(serializers.Serializer):
        reply = reply(many=True)
        post  = post()
    

    注意Serializer 基类您不需要Meta 选项。只需添加尽可能多的字段作为序列化程序的属性。

    您可以使用many=True 属性来指定reply 包含对象列表。

    【讨论】:

    • 我认为reply = reply(many=True) 更好,因为他需要list of dict 作为reply 属性的结果,对吧?
    猜你喜欢
    • 2018-01-30
    • 2019-03-19
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多