2013-09-24 36 views
1
返回一个JSON字典查询集多

我从我views.py通过下面的代码通过Ajax

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

response_dict中有什么? –

+0

response_dict = models.Dishes.objects.filter(type = this_type)。它是一个字典,一个表的过滤子集 –

回答

0

最后,在我的Django序列化程序中,我设置了use_natural_keys = True,并为我希望看到其值的表定义了自然键。见这里的Django文档教程:

https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys

该解决方案适用于我的具体用途,但一般是有限的。我将sunn0的答案标记为已接受的答案,因为此链接中的“wadofstuff”序列化程序似乎提供了更广泛和一般的解决方案。