当前位置: 首页 > 面试题库 >

Django:prefetch_related()是否遵循反向关系查找?

池兴邦
2023-03-14
问题内容

我已经在django 1.4中从主干尝试过prefetch_related(),但无法使其预取反向查找。

我的简化模型(每本书有很多价格):

class Book(models.Model):
    # some fields

class Price(models.Model):
    book = models.ForeignKey(Book)

我视图的查询:

books = Book.objects.prefetch_related('price')

然后,我得到了AttributeError消息:

AttributeError: Cannot find 'price' on Book object, 'price' is an invalid parameter to prefetch_related()

如何使其运作?谢谢。


问题答案:

定义一个相关名称:

class Price(models.Model):
    book = models.ForeignKey(Book, related_name='prices')

然后使用它:

books = Book.objects.prefetch_related('prices')


 类似资料:
  • 问题内容: 有人可以告诉我反向关系是什么意思吗?我已经开始使用Django,并且在文档的很多地方都看到了“反向关系”。到底是什么意思?为什么有用?它与related_name有什么关系? 问题答案: 这是有关related_name的文档 假设你有2个模型 现在,你可以从配置文件对象执行操作。但是,如果要给配置文件对象指定对象,该怎么做?多数民众赞成在哪里或进来。 Django默认情况下为你提供一

  • 在阅读了T. Otwell关于Laravel中良好设计模式的书后,我在Laravel 4中创建了一个应用程序,我发现自己为应用程序上的每个表创建了存储库。 我最终得到了以下表格结构: 学生:身份证,姓名 我有用于所有这些表的find、create、update和delete方法的存储库类。每个存储库都有一个与数据库交互的雄辩模型。根据Laravel的文档在模型中定义了关系:http://larav

  • 问题内容: 我有以“键-键”格式而不是“键-值”格式组织的数据。这就像一个HashMap,但是我将需要在两个方向上进行O(1)查找。这种数据结构是否有名称,Java的标准库中是否包含类似的名称?(或者Apache Commons?) 我可以编写自己的类,该类基本上使用两个镜像的Map,但我不想重蹈覆辙(如果已经存在,但我只是没有在寻找正确的术语)。 问题答案: Java API中没有此类。您想要的

  • 本文向大家介绍CentOS系统通过日志反查是否被入侵,包括了CentOS系统通过日志反查是否被入侵的使用技巧和注意事项,需要的朋友参考一下 一、查看日志文件  Linux查看/var/log/wtmp文件查看可疑IP登陆 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大, 增加的速度取决于系统用户登录的次数。该日志文件可以用来查

  • 我们的混合应用程序使用网页视图,从android版本4.4.3开始,网页视图不呈现。该应用程序尝试加载HTTPS web视图,并仅停留在那里大约50秒,之后它抛出一个异常,类似于这个Android致命信号11(SIGSEGV)在0x636F7D89(代码=1)。怎么能追查到呢?。显然,我们沿着这条建议的道路走下去了,所以没有多大的效果。 通过我们的实验,我们确定了以下几点 最后一个HTTP请求/响

  • 问题内容: @Entity public class A { @GeneratedValue @Id private long id; 建立关系,我必须打电话 为什么两者都是必要的,为什么仅仅做是不够的 要么 ? 该关系存储在联接表中,并将更新该联接表。 但是当我之后进行查询时,它为空。这是为什么? 这是一个测试案例,说明了这个问题。请注意,最后一个断言失败。 动机: 当数量增加时,通过更改“仅一