问题标签 [django-select-related]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

django - 如何在 Django 中选择特定的相关元素?

我有一个名为“项目”的模型。

可以推荐项目。如果是,它们将显示在主页上(Projects.filter(is_featured=True))

每个项目包含几张幻灯片。这些幻灯片可以是特色(Slide.is_featured=True),并包含一个包含实际图像的图像模型。

在我的主页中,我想显示一个幻灯片,其中每张幻灯片都包含项目名称,以及特色幻灯片中包含的图像。

我通过在我的项目模型中添加一个名为“featured_slide()”的方法来做到这一点,但现在我意识到我每次都在访问数据库,我想通过使用“select_related”语句来改进它。

我怎样才能做到这一点?

理想情况下,我希望有一个像“featured_slide”这样的字段来表示特色幻灯片。

我正在考虑按照以下方式做一些事情:

我知道它不可能那么简单(slides__is_featured 不是数据库字段),但你明白了。

0 投票
2 回答
94 浏览

python - 根据Django中的几个条件从几个关系表中选择数据

我将 Django 1.6 与 Python 2.7 一起使用,但相关模型很少:

是否可以进行单行查询来检查这些条件:

  • Key.is_valid一定是True
  • Entity.active一定是True
  • Profile.profile_id不能是null(或None

我唯一可以传递给该查询的是request.user.

0 投票
1 回答
235 浏览

django - 如何在没有命中数据库的情况下在 Django 中获取相关的集合模型

在这里,您总是会得到两个单独的数据库调用,并且在任何地方添加 select_related() 根本无济于事。一个额外的数据库调用并不那么重要。

这里有什么想法吗?

0 投票
1 回答
2780 浏览

django - 在 Django 上使用 select_related 过滤

我在过滤操作中使用 Django 的 select_related 功能时遇到问题,这是我的问题,我有三个类:

我想要做的是,通过根据另一个参数attribute1(来自B类)在键related_C上过滤B类来获得A类。为了正确说明,我的C 类中有一个函数get_class_A(self)

它返回一个类 B 的 QuerySet。我想要做的是跟随指向 A 的 ForeignKey,以便将 B 的这个 QuerySet 转换为对象 A 的列表。

我尝试了各种方法,例如:

和一些变化,但没有任何效果。有谁知道该怎么做?

谢谢

0 投票
2 回答
454 浏览

django - 这个 select_related 在 Django 中是如何工作的?

我从Django 文档中看到了这个关于如何使用的例子select_related()

然后调用Book.objects.select_related('person', 'person__city').get(id=4)将缓存相关Person的和相关的City

我不明白query这里的确切内容。我知道query result是预先填充的。但是这里做了什么 query(用英语或sql术语)。

0 投票
1 回答
1753 浏览

django - 获取所有父类 Django - 跟随外键 UP

我有以下型号:

假设我在数据库中有以下类别:

我可以通过执行以下操作获得顶级类别:

但这并不好,因为一个产品可以是 x 个类别的深度。

如何获取数组或其他内容中的所有相关类别?

0 投票
0 回答
340 浏览

python - 具有多表继承的 Django 1.5 select_related defer

编辑:

  1. 我在下面修正了一些错别字
  2. 我在一个小应用程序中添加了一个 zip 文件来演示这个问题。您可以在 syncdb 和迁移后下载并运行 python manage.py testselectrelateddefer。
  3. 我在下面添加了一些观察结果

我修复我有一个多表继承模型,如下所示:

当我不需要图像(在父模型中)时,我想查询这个模型并推迟图像字段。我的容器模型看起来有点像这样:

查询如下所示:

Django 抛出一个错误说:

如果我查询不在父模型中的字段,Django 不会抛出错误:

你知道如何解决这个问题吗?

观察:

  1. 正如我上面提到的,这只有在延迟字段在父模型中时才会发生;如果延迟字段在子模型中,则不会发生这种情况。
  2. 父母字段是否有任何额外字段都没有关系。
0 投票
2 回答
1214 浏览

python - 过滤 prefetch_related 和 select_related 结果

我有 3 个模型

模型.py

我想用一种语言为一本书创建一个 DetailView,我的第一种方法是这样的:

视图.py

但是这样我返回所有相关的 BookTranslations 和章节,不仅是我想要的语言...
是否可以过滤 select_related 以便在我的模板中,在 {{book.translations}} 我只有翻译我要求的语言(章节相同)?

0 投票
1 回答
75 浏览

django - Left join with django framework

I have these models:

I need to make partidosFifa table show all the records that have and show the results that you have on the table partidosUsuarios but may or may not have records in this table. in sql would be something like:

Select PartidosFifa.PaisL, PartidosFifa.PartidosFifaV, PartidosUsuarios.ULocal, PartidosUsuarios.UVista FROM PartidosFifaLEFT JOIN PartidosUsuarios ON PartidosFifa.Partido = PartidosUsuarios.idFifa

How would be written with django framework?

0 投票
1 回答
84 浏览

sql - django-avatar,每个加载的头像 1 个查询

我正在使用 django-avatar 显示一个包含大约 60 个头像的页面,并对每个头像进行查询。

我无法使用User.objects.select_related('avatar'),因为我的用户和他的头像之间没有链接。那么我该如何优化呢?

编辑

使用 {% avatar user %} 在模板中检索头像(这是一个特定于 github.com/jezdez/django-avatar 的模板标签,这似乎是处理用户头像最常用的应用程序。我在问这个问题因为有些人肯定已经不得不面对使用此应用程序显示许多头像的问题,我想知道他们的解决方案)。