我们知道QuerySet有一个value()方法,当有一个foreignkey(例如author)时,结果如下:
[{ 'author_id':3, ... }, ...]
我想要一个结果:
[{ 'author':{'name':'dave',...}, ... }, ...]
我尝试了select_related,但是values()不会显示外键的详细信息,我该怎么办?
答案 0 :(得分:1)
AFAIK,Django没有内置支持。 select_related
永远不会更改查询集的结果,只会更改访问相关对象时的查询数。
您可以使用DjangoFullSerializers来获得与您想要的相似的内容。
答案 1 :(得分:0)
实施每个模型的 unicode 方法,并打印出来。
class Book(..):
title = models.CharField(..)
color = models.CharField(...)
author = models.ForeignKey('Author')
...
def __unicode__(self):
return u"%s %s %s" %(title, color, author)
class Author(...):
name = models.CharField(...)
...
def __unicode__(self):
return name