gpt4 book ai didi

python - Django查询集按具有不同的相关模型排序

转载 作者:行者123 更新时间:2023-12-01 04:35:19 24 4
gpt4 key购买 nike

我有以下两个模型:

class Show(models.Model):
name = models.CharField(max_length=100)
is_active = models.BooleanField(default=True)

class Episode(models.Model):
start = models.DateTimeField()
series = models.ForeignKey('Show', related_name='episodes')

我想检索 Show 的所有实例其中有is_active设置为True并且至少有 1 Episode 。我遇到问题的部分是我还想要 Show由相关 Episode 订购的实例start字段和 Show实例是唯一的。

这可以通过单个查询实现吗?

我尝试过的:

Show.objects.annotate(
e_count=Count('episodes')
).filter(
e_count__gt=0,
is_active=True,
).order_by('episodes__start').distinct()

最佳答案

按照 Anonymous 的建议,我通过使用 Min 实现了这一点。

Show.objects.filter(
is_active=True,
).annotate(
e_count=Count('episodes'),
start=Min('episodes__start'),
).filter(
e_count__gt=0,
start__gt=timezone.now(),
).order_by('start')

关于python - Django查询集按具有不同的相关模型排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798315/

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