Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何组合select_related()和value()?_Django - Fatal编程技术网

Django 如何组合select_related()和value()?

Django 如何组合select_related()和value()?,django,Django,我们知道有一个values()方法用于QuerySet,当存在外键(例如作者)时,结果如下: [{ 'author_id':3, ... }, ...] [{ 'author':{'name':'dave',...}, ... }, ...] 我想要的结果是: [{ 'author_id':3, ... }, ...] [{ 'author':{'name':'dave',...}, ... }, ...] 我尝试了select\u related,但是values()不会显示外键的详细

我们知道有一个
values()
方法用于
QuerySet
,当存在外键(例如作者)时,结果如下:

[{ 'author_id':3, ... }, ...]
[{ 'author':{'name':'dave',...}, ... }, ...]
我想要的结果是:

[{ 'author_id':3, ... }, ...]
[{ 'author':{'name':'dave',...}, ... }, ...]

我尝试了
select\u related
,但是
values()
不会显示外键的详细信息,我能做什么呢?

AFAIK,Django没有内置的支持
select_related
从不更改查询集的结果,仅更改访问相关对象时的查询数


您可以使用来获取与所需相似的内容。

实现每个模型的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

再次阅读你的问题,我想我完全没有抓住要点。对于较新的django版本(1.7+),请参阅@Risadinha,你发布的链接对我来说也适用于django 1.3.7。。。