Учитывая эти модели Django:Django объекты запросов со всеми связанными объектами встречи иного состоянием
class Job(models.Model):
pass
class Task(models.Model):
job = models.ForeignKey('Job', related_name='tasks')
status = models.CharField(choices=TaskStatus.CHOICES, max_length=30)
dependencies = models.ManyToManyField("self", related_name="dependents", symmetrical=False)
Я хочу, чтобы запросить все задачи со статусом ОЖИДАНИЕМ и всей зависимость, имеющей статус ЗАВЕРШЕНА для одного задания.
Я написал следующий запрос, но он возвращает задачи, имеющие хотя бы одну зависимость со статусом, который явно не нужен.
tasks_that_can_be_executed = Task.objects.filter(
job__pk=job_id,
status=TaskStatus.PENDING,
dependencies__status=TaskStatus.COMPLETED
)
Любые предложения?
где статус столбца? –
@ PiyushS.Wanare добавил. Извините, я, должно быть, пропустил это, когда вы удалял несвязанный код для этого примера. – Korijn
Почему все используют 'Q', я не знаю, что в основном это используется, когда нам нужно работать с условиями? и фильтр всегда работает с 'AND' –