问题标签 [django-queryset]
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.
python - django - 将列表转换回查询集
我有一些记录,我想根据计算值进行排序。在这里得到答案......就像这样:
在这样的 Profile 类上:
不幸的是,通用视图需要一个查询集对象,如果我给它一个列表,则会引发错误。
有没有办法做到这一点,返回一个查询集
或者...
我可以以某种方式将列表转换为查询集吗?在 django 文档中找不到类似的东西。
我希望不要对数据进行非规范化,但我想如果必须的话我会的。
更新/答案:
似乎获取查询集的唯一方法是您是否可以将所有逻辑放入 sql 查询中。
如果这是不可能的,(我认为)你需要对数据进行非规范化
django - 如何获取 Django 模型中对 ForeignKey 字段具有特定值的所有对象?
我有一个外键为“父”的模型
这是FK模型
我正在尝试运行一个查询,以获取所有带有“xyz”父项的项目我什么也没得到
当我尝试:
或者:
我收到一个错误:
这样做的正确方法是什么?
django - 如何订购查询过滤器的结果?
我的视图中有这行代码,它允许我按日期显示一组项目(我还颠倒了顺序,所以最近的显示在前):
工作正常,但是,当我将order_by
代码与过滤器连接时......
为什么这不起作用?也许语法不好,或者我只是不明白这应该如何工作?
django - Django - 使用 Q 跨越空关系的查询集
考虑模型:
当我创建 C 的对象时,我确保一个对象具有 classA 或 classB 关系。
我正在寻找一个单一的查询集,它为我获取特定 fieldOfA 或特定 fieldOfB 值的 C 对象。
我试过这个,但它失败了(返回 [],尽管有有效的结果)。
我看到的问题是'|' 那就是应用。classA 和 classB 的两个不同查询集工作正常。有什么方法可以应用单个查询集来完成这项工作吗?或者更糟的是,一种合并单个查询集的方法。
django - 如何将 2 个 Django QuerySet 合并为一个并创建一个 SELECT DISTINCT
在我看来.py:
在我切换到 ForeignKey 之前,它适用于:
如何将这两个查询集“加入”到一个查询集并创建一个 distinct()?
谢谢!
django - Django:为什么外键查找不自动使用pk?
我有
这有效:
但这不是:
为什么?(Django 1.0.2)
查看查询日志,它正在做着我没想到的事情!该查询产生:
但是这样做
给出这个查询
这就是我想要的,但在=
我看来,这意味着它是唯一的对象。如果对象在成就列表中的任何位置,django 实际上正在执行的查询正在返回。
这是正确设置并且非常违反直觉还是我做错了什么?
django - Django - 从每个相册中随机选择一张照片
我试图从同步器创建的数据中从每个相册中获取随机照片。模型(缩写)如下所示:
我尝试了很多不同的方法,但都没有成功。这是另一个容易的吗?
采取2:最终代码:
def 画廊(请求,模板名称='galleries.html'):
django - 如何在 Django 查询中动态提供查找字段名称?
我想在 Django 中的模型的几个字段中查找某个字符串。理想情况下,它会类似于:
当然这行不通,因为“查找”无法解析为字段。有没有其他方法可以做到这一点?
django - 在循环中连接 Django 查询集是正确的吗?
我有一个名为 Collection 的 Django 模型,它表示项目的集合(CollectionItem)。每个集合仅包含特定类型的项目。(CollectionItem 有一个 Collection 的外键)。
我想获取特定类型的公共标记列表中的所有 CollectionItem,并按特定字段排序返回它们。这是我使用的查询代码:
我不得不想象当我有一个包含大量列表和项目的大型数据库时,这根本不会很好地扩展。在 Django 中有没有更好的方法来做到这一点?或者与我不应该太担心的其他选项相比,查询循环中涉及的低效率是否可以忽略不计?
sql - Django annotate() 多次导致错误答案
Django 为查询集提供了很棒的新 annotate() 函数。但是,对于单个查询集中的多个注释,我无法使其正常工作。
例如,
一个游览可以包含多个游览评论和历史条目。我正在尝试了解这次巡演有多少评论和历史条目。所结果的
值将不正确。如果只有一个 annotate() 调用,则该值将是正确的。
LEFT OUTER JOIN
这两个s似乎有某种乘法效应。例如,如果游览有 3 条历史记录和 3 条评论,则 9 将是两者的计数值。12 个历史记录 + 1 条评论 = 12 个值。1 条历史记录 + 0 条评论 = 1 条历史记录,0 条评论(这一条恰好返回正确的值)。
生成的 SQL 调用是:
我尝试将两个查询集的结果组合在一起,这些查询集包含一个对 annotate () 的调用,但它不能正常工作......你不能真正保证顺序是相同的。它似乎过于复杂和凌乱,所以我一直在寻找更好的东西......
谢谢你的帮助。Stackoverflow 过去用很多已经回答的问题拯救了我的屁股,但我还没有找到这个问题的答案。