问题标签 [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 投票
0 回答
402 浏览

django - Django:一个查询中的所有对象和所有 M2M 相关字段

假设我有这些:

如何在一次查询中获取所有出版物及其作者。我想在页面上列出每个出版物及其作者。但我不想为每篇出版物都打到作者表。

我知道的唯一方法是select_related在视图和authorship_set.all()模板上。但这是每个出版物的一个查询。我可以使用原始 sql 轻松完成,但这很糟糕。

*顺便说一句,我正在使用直通模型,因为我必须在其中保留一些额外的数据,例如author_display_order.

编辑:

原来authorship_set是在做所有的查询。

当我从控制台以这种方式运行它时,只会触发一个查询:

0 投票
2 回答
605 浏览

django - 在 Django 中的 select_related 中创建关系的别名

我有模型:

Rubric 有 seo 参数

要使用 seo 选择量规,我必须使用:

然后在模板中使用:

但我需要为这种关系创建一个别名rubricseo(我的意思是LEFT JOIN rubricseo as seo...),然后使用{{ rubric.seo.title}}. 但我无法将模型重命名为 simple Seo

有可能吗?select_related允许吗?

0 投票
1 回答
2520 浏览

django - django-select2 不能在 django-admin 中使用内联

这是我的模型和管理类:

我正在尝试实现django-select2,但是当我在其中使用内联时, PurchaseOrderAdmin它不会显示我已实现的字段 django-select2

截图1

但是当我删除内联时,它工作正常:

截图2

编辑

这是 ItemSelectForm

0 投票
1 回答
953 浏览

django - 正确使用 select_related

我目前有以下代码,我想使用 select_related 进行优化。目的是找出至少有一个 is_active = True 的 Voucher 的 BaseReward 集合

看法

正确的做法是什么?我正在考虑使用反向关系来使用 select_related,但文档说它不会工作任何其他方式?

0 投票
1 回答
699 浏览

python - Django 与多个模型相关联

嗨,我是 Django 新手,不知道如何使用多个模型获取相关对象。

我的代码:

在我的观点中

在我的模板中

这是我的 url 仪表板/候选人/pk/。

发生的事情是在模板中加载所有用户的照片,而不仅仅是我想要的特定用户。我尝试使用 {{ Candidate.user.candidatephotos_set.photo.url }} 获取用户照片,但它不起作用。

我还尝试在views.py 中将模型从“Candidate”更改为“CandidateToJob”(通过模型),但出现404 错误,我不知道为什么。

那么,实现这一目标的最佳实践是什么?

0 投票
4 回答
20425 浏览

python - 在 Django REST 框架中优化数据库查询

我有以下型号:

这些模型用于以下视图和序列化程序:

所以基本上,对于GetAllUsers视图返回的每个用户,我想打印出用户是否是请求者的朋友(实际上我应该检查 from_ 和 to_friend,但对于问题点无关紧要)

我看到的是,对于数据库中的 N 个用户,有 1 个查询用于获取所有 N 个用户,然后在序列化程序的 1xN 查询get_is_friend_already

有没有办法以休息框架的方式避免这种情况?也许类似于将select_related包含的查询传递给具有相关Friendship行的序列化程序?

0 投票
2 回答
337 浏览

django - Django:如何从与 ForeignKey 连接的不同模型中加入 QuerySet?

我想在一个 QuerySet 中组合来自两个不同模型的属性,这些模型与 ForeignKey 连接,以将它们一起显示在一个表中。我试图将它们与 select_related 结合起来,但是,模型 B 的属性没有出现在我的 QuerySet 中,我也不能在我的表中显示它。我究竟做错了什么?如何将属性“名称”从模型 A 添加到我的 QuerySet?你能帮我么?提前致谢

视图.py

模型.py

.html

0 投票
2 回答
1115 浏览

python - 使用 select_related 从两个模型中获取值

可以说我有以下内容:

现在我想对Model1表进行查询并field3Model3. 我的问题是关于select_related.

如果我做

我假设以下内容仍会命中数据库?

我可以执行以下操作以使其更快吗?

0 投票
2 回答
589 浏览

django - Django - 在按参数过滤的模板相关类计数中显示

我会先给出我的模型,然后再写描述。

所以我有 Entry 模型和 Category 模型,并且我已经创建了中间模型 CategoryEntry,如下所述https://docs.djangoproject.com/en/1.7/topics/db/models/#extra-fields-on-many-to-许多关系,因为我需要一个额外的字段“查看”(当用户第一次打开特定的条目链接时标记为 True)。

因此,我创建了 generic.ListView 视图,其中显示了用户为自己创建的所有这些类别。我想要的是在每个类别名称旁边显示有多少条目以及他还没有查看多少条目。像:

我设法通过以下方式在模板中显示总条目

在我看来,我有 get_queryset 之类的

据我了解,最好的方法是以某种方式添加有关在 get_queryset 中查看的每个类别条目的额外信息。我四处搜寻,但没有找到任何有效的方法。已经尝试了一些与 select_related、prefetch_related、annotate 相关的事情,但没有得到正确的方法来做到这一点。知道这是不对的,但尝试了类似的事情和其他一些事情。

希望你明白我不想实现的目标。

0 投票
0 回答
302 浏览

django - 与代理模型相关的 select_related 不适用于 Django 1.4.22

我有一个这样的模型结构:

app1.models

app2.models

FunkyClassLoadoerMixin 只是一个有助于以稍微不同的方式加载子类的类,但它不会影响它们的行为。

鉴于此,我有一个类似的查询:

(在这种情况下,app 对象的类型应该是 app2.models.App)

当它被评估时,我收到了这个错误:

我不太确定为什么会这样。我查看了 Django 源代码,原因似乎是这个函数:

当模型是子类并忽略它是代理模型的事实时,行为会有所不同。

我找到了一些相关的帖子:

但也没有太大帮助。

关于如何使用代理类并避免此错误的任何想法?