在json中导入django模型方法

时间:2011-07-18 13:55:47

标签: django json serialization models

我试图在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,为了解决这个问题,模型有一个用作属性的定义.e.g:

name = property(_get_useful_name)

所以,要解决问题的关键。如何在我的json序列化中包含此“name”属性以及原始字段数据?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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