开发者

Django JSON Serialization with Mixed Django models and a Dictionary

I can't seem to find a good way to serialize both Django Models and Python dictionaries together, its pretty common for me to return a json response that looks like

{
  "modified":updated_object,
  "success":true
  ... some additional data...
}

Its 开发者_运维问答simple enough to use either simplejson to serialize a dict or Django's serializers.serialize to serialize a model but when I mix them together I get errors.

Is there a better way to do this?


Can't you just convert the model instance to a dict, join the other dict and then serialize?

from django.forms import model_to_dict

dict = model_to_dict(instance)
dict.update(dict2)

... Then serialize here ...

Don't know about being "better"... :-)


I'm using this (where products is queryset):

response = {}
products_list = list(products.values('id', 'name', 'description'))
response['products'] = products_list
response['more_data'] = 'more, more, more, things'

json_data = json.dumps(response)

Using this method you can select only fields you want (make json, and database query smaller).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜