问题标签 [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.

0 投票
2 回答
490 浏览

django - Django中的简单连接

我正在尝试在我的网站上完成类似于 twitter 的操作,其中一个用户可以关注另一个用户。我想选择所有关注具有给定 ID 的用户的用户记录。我的关注关系模型如下所示:

我正在使用 django.contrib.auth.models 用户类。

假设我有一个名为“myUser”的用户对象代表被关注的人,那么让每个人都关注他们的适当查询是什么?

0 投票
2 回答
1410 浏览

python - 是否可以过滤 Django 注释中的相关项目?

我有以下2个模型:

到目前为止,这是我查询的位置:

问题是我只想计算过去 30 天内创建的工作。但是,我想返回所有类别,而不仅仅是那些具有合格工作的类别。

0 投票
1 回答
1620 浏览

database - Django - 如何为字段组合与查询集获取仅 2 个对象

如果我有

我只想为任何 content_object=foo、object_id=N 获取一个对象。我怎样才能做到这一点?假设我按-datetime 订购。如果我只能在查询集中为任何 content_type=foo、object_id=N 获取一个对象……它应该是最新的。如何指定我只需要 1 个对象用于 content_object 和 object_id 的任意组合?

然后获取一个查询集:

这可以给我过去 24 小时内的所有签到,但我只想要 1 个对象 PER content_type=foo 和 object_id=N。

0 投票
4 回答
3609 浏览

database - Django-queryset 每个字段获取一个对象=foo

我对用户有一个基本的 FK,称它为所有者

现在,有了一个 Baz 的查询集,有没有可以链接的东西,每个所有者只给我一个 Baz?

0 投票
19 回答
231148 浏览

python - 如何在 Django 中过滤 DateTimeField 的日期?

我正在尝试过滤DateTimeField与日期的比较。我是说:

我得到一个空的查询集列表作为答案,因为(我认为)我没有考虑时间,但我想要“任何时间”。

Django中有一个简单的方法可以做到这一点吗?

我在日期时间设置了时间,它不是00:00

0 投票
1 回答
1209 浏览

python - 带有 Django QuerySet 的 Python 中的基本树

这就是我被暴露为我是程序员的欺诈行为的地方。

我从未创建过数据树。

基本上,我有一个包含四个字段的表:A、B、C 和 D。我需要根据这些字段创建一个无序列表树。最终,它看起来像这样:

  • A1
    • B1
      • C1
        • D1
        • D2
      • C2
        • D3
        • D4
    • B2
      • C2
        • D5
        • D6
      • C3
        • D7
        • D8
  • A2
    • B2
      • C1
        • D9
        • D10
      • C4
        • D11
        • D12
    • B3
      • C3
        • D13
        • D14
      • C4
        • D15
        • D16

这是一个非常基本的 4 级树……我想。它比我在这里所代表的要大得多、复杂得多,但这足以说明这一点。

我希望将其保留在一个数据库调用中,但我不确定这是否可能。

我将使用 Django QuerySet 获取数据。我可以使用 Python。

我什至不知道从哪里开始编程逻辑以防止它变得笨拙。

我将不胜感激任何指针,指导,链接......几乎任何东西!

0 投票
1 回答
1202 浏览

django - 缓存查询集和重新评估

我将发布一些不完整的代码以简化示例。我正在运行一个递归函数来计算层次结构上的一些指标。

类类别(模型。模型):

我希望有足够的代码来看看发生了什么。我在这里追求的是一个递归函数,它每次只运行一次这些查询,然后将结果传递下来。现在似乎没有发生这种情况,而且它正在扼杀性能。这是 PHP/MySQL(在使用 Django 之后我不喜欢它们!)我可以只运行一次查询并将它们传递下去。

根据我对 Django 查询集的了解,它们不会在我的 if queryset == None then queryset=stuff 部分中进行评估。我怎么能强迫这个?当我做类似的事情时会重新评估它metric_queryset.filter(category=self)吗?

我不关心数据的新鲜度。我只想为每个指标和评级从数据库中读取一次,然后稍后对其进行过滤,而无需再次访问数据库。这是一个令人沮丧的问题,感觉应该有一个非常简单的答案。酸洗看起来可以工作,但在 Django 文档中并没有很好地解释。

0 投票
1 回答
960 浏览

django-queryset - 在不创建新查询集的情况下查询 Django 查询集?

甚至不确定我是否正确地陈述了这个问题。这是情况。我有一个通过访问外键关系生成的查询集。使用 Django 文档中的标准博客/条目模型,假设我选择了一个博客,现在有一组条目:

所以我们有一些博客条目,可能为零。然后我想说构建一个日历并指出哪些日子有博客条目。所以我的想法是迭代一个月中的天列表或其他什么,并检查条目查询集以获取具有该日期的条目。问题是,最好的方法是什么?我的第一个想法是做类似的事情

问题是过滤器调用返回一个新的查询集,并为每个循环迭代生成一个新的 sql 调用。我只需要从条目中提取条目对象(如果存在)并将其粘贴到我的日历中。那么最好的方法是什么?我确实让这个工作:

这不会生成新的 sql 调用。但它确实看起来很丑。

0 投票
7 回答
205886 浏览

django - 在 Django 中检查空查询集

检查查询是否返回任何结果的推荐习惯用法是什么?
例子:

我想有几种不同的方法可以检查这一点,但我想知道有经验的 Django 用户会如何做到这一点。文档中的大多数示例只是忽略了没有找到任何东西的情况......

0 投票
2 回答
19253 浏览

django - 如何在 Django 的相关模型中按带注释的 Count() 进行排序

我正在 Django 中构建食物记录数据库,但遇到了与查询相关的问题。

我已经设置了我的模型以包括(除其他外)通过消费模型通过 M2M 字段“消费者”连接到用户模型的食品模型。食物模型描述食物菜肴,消费模型描述用户对食物的消费(日期、数量等)。

我想创建一个查询,该查询返回所有 Food 对象,该对象按 Food 对象在该用户的 Consumption 表中出现的次数(用户消耗食物的次数)排序。

我正在尝试以下内容:

但这当然会计算与 Food 对象相关的所有 Consumption 对象,而不仅仅是与用户关联的那些。我是否需要更改我的模型,或者我只是在查询中遗漏了一些明显的东西?

这是一个非常耗时的操作(除其他外,它用于填充前端中的自动完成字段)并且 Food 表有几千个条目,所以我宁愿在数据库端进行排序,而不是执行蛮力方法并迭代结果:

然后使用 python sort 对它们进行排序。我不认为这种方法会随着用户群的增加而很好地扩展,我想从一开始就将数据库设计为未来的证明。

有任何想法吗?