【发布时间】:2021-07-02 04:26:19
【问题描述】:
我有以下 3 个模型
class Product(models.Model):
name = models.CharField(
blank=False,
max_length=256
)
class TaskGroup(models.Model):
name = models.CharField(
blank=False,
max_length=256
)
product = models.ForeignKey(
Product,
on_delete=models.CASCADE,
null=False,
blank=True
)
class Task(models.Model):
name = models.CharField(
blank=False,
max_length=256
)
task_group = models.ForeignKey(
TaskGroup,
on_delete=models.CASCADE,
null=False,
blank=True
)
execute_at = models.DateField(
blank=True
null=True,
)
我想获取产品的任务组,并通过 execute_at 为每个任务组订购任务。 我可以通过
获得一个产品的所有任务组和所有任务product = Product.objects.first()
task_groups = product.taskgroup_set.all()
task_groups 包含所有组和每个组的所有任务。
我也可以做类似task_groups[0].task_set.all().order_by('execute_at') 的事情。
我不知道如何将这些查询放在一起,并在单个查询中按execute_at 对每个组的任务进行排序。
【问题讨论】:
标签: django foreign-keys sql-order-by django-queryset