我通过以下代码
从我的views.py返回我的模型作为字典data = serializers.serialize('json', response_dict)
return HttpResponse(data, mimetype='application/javascript')
问题是我在对象中有一个外键,我想要外键所指向的对象的实际值,但我只是得到了ID。我想尝试返回ID的相应对象。我尝试过的一种方法是使用以下代码返回一个单独的列表,其中包含每个外键的相应对象,但它不起作用。
#original dictionary that returns id values for foreign keys
data1 = serializers.serialize('json', response_dict)
#The corresponding objects from the foreign key table stored in a parallel list of equal length to response_dict
data2 = serializers.serialize('json', other_list)
data = simplejson.dumps([data1, data2])
#return json dump to template via ajax
return HttpResponse(data, mimetype='application/javascript')
如何返回初始字典和列表以及外键的相应值?我也对一个更好的方法开放,它获取每个外键的实际对象值
答案 0 :(得分:0)
我认为你所寻找的是一种序列化关系的方法。
看看:
https://code.google.com/p/wadofstuff/wiki/DjangoFullSerializers#Relations
另请注意,从Django 1.5开始,不推荐使用simplejson:
https://code.djangoproject.com/ticket/18023#comment:10
我创建了一个版本的Wad of stuff序列化程序,它与Django 1.5一起使用:
答案 1 :(得分:0)
最后在我的Django序列化程序中,我设置了use_natural_keys = True,并为我想看到的值的表定义了自然键。请参阅Django文档中的教程:
https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys
此解决方案适用于我的特定目的,但一般情况有限。我将sunn0的答案标记为已接受的答案,因为此链接中的'wadofstuff'序列化器似乎提供了更广泛和通用的解决方案。