【问题标题】:Importing django model methods in json在 json 中导入 django 模型方法
【发布时间】:2011-10-07 17:17:29
【问题描述】:

我正在尝试以 JSON 格式输出一组数据库记录,如下所示:

def json_dbtable(request, p):

    t = MyModel.objects.filter({some query})
    s = serializers.get_serializer("json")()

    re = s.serialize(t, ensure_ascii=False)

    return HttpResponse(re, mimetype="application/json")

但是,如果我尝试返回的字段之一是 null,则需要更改它,并且为了解决这个问题,模型有一个用作属性的定义。例如:

name = property(_get_useful_name)

所以,要找到问题的症结所在。如何在我的 json 序列化以及原始字段数据中包含这个“名称”属性?

【问题讨论】:

    标签: django json serialization models


    【解决方案1】:

    简短的答案是否定的,长答案是您可以自己序列化您的MyModel 实例:

    simplejson.dumps([{'pk': m.pk, 'name': m.name} for m in MyModel.objects.filter(...)])
    

    【讨论】:

      【解决方案2】:

      我为 Python 编写了一个序列化框架,名为 any2any 其中包括(de)serializers for Django 这使您可以轻松地进行that。 这将比DIY方式更清洁。 希望对您有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-27
        • 1970-01-01
        • 1970-01-01
        • 2016-07-13
        • 2018-02-23
        • 2020-06-25
        • 2017-10-21
        • 2016-08-20
        相关资源
        最近更新 更多