gpt4 book ai didi

Django 查询 : Count number of objects with FK to model instance

转载 作者:行者123 更新时间:2023-12-01 11:08:50 25 4
gpt4 key购买 nike

这应该很容易,但出于某种原因我找不到它。我有以下内容:

App(models.Model):
...

Release(models.Model):
date = models.DateTimeField()
App = models.ForeignKey(App)
...

如何查询至少有一个 Release 的所有 App 对象?

我开始打字了:

App.objects.all().annotate(release_count=Count('??????')).filter(release_count__gt=0)

这行不通,因为 Count 不跨越关系,至少据我所知。

奖励:

最终,我还希望能够按最新发布日期对应用程序进行排序。我正在考虑在应用程序中缓存最新的发布日期以使其更容易(并且更便宜),并在 Release 模型的 save 方法中更新它,除非当然有更好的方法。

编辑:

我正在使用 Django 1.1 - 如果有令人信服的理由,我不反对迁移到 dev 以期待 1.2。

最佳答案

您应该能够使用:

App.objects.annotate(release_count=Count('release')).filter(release_count__gt=0)\
.order_by('-release__date')

关于Django 查询 : Count number of objects with FK to model instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2471172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com