问题标签 [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 回答
133 浏览

jquery - Django 可选择和自动完成:自动完成不起作用。我应该添加自己的 JS 吗?

我正在尝试在 django.auth 用户上使用可选择的 Django。它返回用户打开的 JSON selectable/organiser_app-userlookup/,但输入中没有自动完成。

我已经selectable注册INSTALLED_APPS

还添加到url.py基础项目网址中:

lookup.py的是:

和查找形式:

我的模板刚刚从表单输入,它呈现为:

当我查看 url 时,selectable/organiser_app-userlookup/我得到了用户的 JSON,所以 Django-selectble 似乎有效。我现在应该如何使用自动完成功能?我应该在我的模板中添加一些 JQuery 源吗?我只是不明白。

0 投票
1 回答
101 浏览

django - 如何使用 postgres 在 django 中实现 join?

基本上,我有三个表 BusinessCards、BusinessCardsIdentifiers 和 Identifiers。BusinessCards 和 Identifiers 的主键存储到 BusinessCardsIdentifiers 中。我想找到一种方法来编写单个查询并从所有相关表中查找相关数据。

提前致谢

0 投票
0 回答
48 浏览

django-select-related - 来自单个 sql 的 django 反向模型

我有 2 个模型:

如果我想通过一个查询获得所有服务员和餐馆,我会写:

或者

但是,如何才能找到一家拥有所有服务员的餐厅呢?我试过了

但它没有用。

我不想通过 2 db 询问来做到这一点,例如:

可以通过单个查询获取所有信息吗?

谢谢

0 投票
1 回答
682 浏览

django - Django:使用 select_related 缓存相关对象

我正在尝试使用相关对象缓存 Django 模型对象。但是当我访问相关对象时,会触发一个查询。这是代码:

所以当我访问缓存对象的相关对象时,数据库会被命中。我在 django.db.backends 记录器中看到它。

问题:

  1. 我做错了什么还是预期的?

  2. 缓存是否默认不包括相关对象?那我应该单独缓存它们吗?

0 投票
0 回答
655 浏览

python - Django 模型总是一对一地获取相关的字段

我在 django 中对两个模型使用多态,其中一个与另一个模型具有一对一的关系。

现在,我想对 Host 类使用 prefetch_related

但是,它对模型 B 中的某些对象无效。

当我获取 A 对象时,有什么方法可以预取 Engine 对象吗?

0 投票
2 回答
1254 浏览

django - 尝试序列化使用 select_related 的查询集——无法获取外键模型的字段

当我执行查询时,我能够访问正确的字段('author.username')。

但是,如果我通过序列化程序运行相同的查询,它不会打印出 select_related 模型字段。

我应该指定所有字段以及外键模型的附加字段吗?

视图.py

--- 更新 --- views.py

console.log() 输出

0 投票
1 回答
1637 浏览

django - 在 Django 中的相关字段上指定 order_by

在 Django 中,在给定模型上,它看起来RelatedManager只能静态设置(参见:docs),但是有没有办法在order_by给定查询集的相关管理器上设置?我尝试使用prefetch_relatedand Prefetch,但这似乎不起作用:

在这种情况下resFalse

当我尝试访问相关管理器时出现问题:访问 w/oorder_by不会调用另一个 SQL 查询,而如果我再尝试order_by,则会执行一个额外的查询,这会导致一个N + 1SQL 查询被执行。

这两行返回相同的结果,但第一行生成的 SQL 查询要少得多:

0 投票
3 回答
21721 浏览

django - 在 Django 中使用 select_related 选择特定字段

我有两个模型文章和博客使用外键相关。我想在提取文章时只选择博客名称。

生成的查询表明它从 Blog 模型中选择了所有字段。我尝试将 only() 和 defer() 与 select_related 一起使用,但都没有成功。

上述查询导致错误:在 select_related 中给出的字段名称无效:选择是:博客

如何生成查询以便只选择文章字段和博客名称?

0 投票
3 回答
2972 浏览

python - 有没有办法检查是否已经获取了相关对象?

select_related我希望能够通过使用or来检查是否已经获取了相关对象prefetch_related,以便我可以相应地序列化数据。这是一个例子:

在这个例子中,这个函数is_fetched就是我要找的。我想确定 person 对象是否已经有一个解析地址,如果有,它也应该被序列化。但如果没有,则不应执行进一步的数据库查询。

那么有没有办法在 Django 中实现这一点?

0 投票
2 回答
11275 浏览

django - 将 Django 从 1.6 更新到 1.8:select_related 中给出的字段名称无效

我确实将项目从 Django 1.6.7 更新到 1.8.7 并且我在 Django 1.8 中遇到了以下异常,尽管使用 Django 1.6 它的代码是正确的:

我的模型:

我在 Trace 上的 DetailView 中也有这个错误,DetailView 使用 get_related_selections,当然我得到“FieldError:无效的字段名称......”,为了避免错误我必须使用 ManyToManyField 而不是 ForeigenKey?