1

我通过以下代码从我的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')

我将如何返回初始字典和列表以及外键的相应值?我也愿意接受更好的方法来获取每个外键的实际对象值

4

2 回答 2

0

我认为您正在寻找的是一种序列化关系的方法。

看一下:

https://code.google.com/p/wadofstuff/wiki/DjangoFullSerializers#Relations

另请注意,从 Django 1.5 开始,simplejson 已被弃用:

https://code.djangoproject.com/ticket/18023#comment:10

不久前,我创建了一个可与 Django 1.5 一起使用的 Wad of stuff 序列化程序:

https://github.com/kolben/wadofstuff

于 2013-09-24T06:15:57.983 回答
0

最终,在我的 Django 序列化程序中,我设置了 use_natural_keys=True 并为我想查看其值的表定义了自然键。在此处查看 Django 文档中的教程:

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

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

于 2013-09-24T06:40:44.420 回答