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

_set在Django中查询集

籍靖
2023-03-14
问题内容

我有点困惑如何使用_setQuerySetDjango的。例如,一个对象Blog b,以及与该对象Entry相关的attribute entry_set。是什么意思b.entry_set.all()

如果有人可以使用此示例显示可能的输出,我将不胜感激。


问题答案:

你看到的是反向相关的对象查找。

在你的示例中:

class Blog(models.Model):
    pass

class Entry(..):
    blog = Blog(..)

现在,给定e类型为object的对象Entry,你将e.blog可以访问相关对象Blog-这是一个正向关系。该_set是一个反向查找类变量的Django为你看跌期权。

因此,给定对象b-你将执行以下操作:

entries = b.entry_set.all()

反向查询集的原因是,ForeignKey是1-to-many关系。因此,相反是一个查询集。

未指定_set时,该对象可用。related_name



 类似资料:
  • 问题内容: 我试图弄清楚如何在Django中编写“不在”风格的查询。例如,我正在考虑的查询结构将如下所示。 假设模型名为table1和table2,django语法会是什么样? 问题答案: 排除功能的作用类似于你要查询的运算符。该属性告诉查询以返回value_list一级列表。因此,…最后,你IDs将从中获得列表,你将用该列表定义用户中的条件,该条件将被exclude函数拒绝。

  • 问题内容: 建议的用于检查查询是否返回任何结果的惯用法是什么? 例: 我想有几种不同的检查方法,但是我想知道一个有经验的Django用户将如何做。文档中的大多数示例只是忽略了什么都没有发现的情况… 问题答案:

  • 问题内容: 如何在Django中查询全名? 为了明确起见,我本质上想创建一个临时列,将first_name和last_name组合在一起以给出一个全名,然后对它进行LIKE,如下所示: 上面的查询将返回所有名为John Smith的用户。如果可能的话,我想避免使用原始SQL调用。 我正在专门讨论的模型是django.contrib.auth.models用户模型。直接更改模型不是问题。 问题答案:

  • 问题内容: 我试图创建一个查询集以获取DateTimeField的值,该值是数据库中的DATETIME。 models.py中的类: 数据库中的字段: 元组已填充到数据库中,并且直接在DB上运行SQL查询运行良好。 这是我当前在Django中使用的查询集: 我已经尝试过原始查询以及使用exclude()的查询版本,但是对于日期仍然返回None。 我正在通过for循环访问queryset中的条目,并

  • 问题内容: (这是SQL连接时线程的django版本:选择一对多关系中的最后一个记录) 假设我有一个客户表和一个采购表。每次购买都属于一个客户。我想获得所有客户的清单以及他们的上一次购买。是否可以在没有原始SQL且没有多个数据库查询的情况下完成? 问题答案: 您可以看一下类似的讨论: 从不同类别获取最新对象的Django查询 据我所知,在Django ORM中没有单步执行此操作的方法。 但是您可以

  • 问题内容: 我正在尝试找到一种方法来缓存不会随频率变化的查询结果。例如,来自电子商务的产品类别(手机,电视等)。我正在考虑使用模板片段缓存,但是在这个片段中,我将遍历这些类别的列表。该列表在网站的任何部分都可用,因此在我的文件中。渲染模板时是否总是要发送类别列表?还是有更动态的方法来执行此操作,以使列表始终在模板中可用? 问题答案: 将缓存的查询弹出到Django的缓存中: 然后创建一个上下文处理