Использование подзапросов в annotate django
у меня есть две модели, которые я хочу запросить из Job
и user
class Job(models.Model):
#other fields removed
personnel_assigned = assigned_personnel = models.ForeignKey(
User,on_delete=models.RESTRICT,related_name="assigned_jobs",
blank=True,null=True,
)
is_performed = models.BooleanField(default=False)
что я хочу
получить всех пользователей с аннотированным полем count
равным количеством заданий, назначенных и не выполненных
пять раз пробовали это до сих пор
engineers = (
User.objects.filter(groups__name="maintenance")
.annotate(count=Count(F("assigned_jobs")))
.order_by("count")
)
хотя я понимаю, что это вернет подсчет всех заданий, назначенных данному конкретному пользователю
Я также пытался
jobs = Job.objects.filter(is_performed=False,personnel_assigned__isnull=False).values_list('pk',flast=True)
then
User.objects.filter(groups__name="maintenance")
.annotate(count=Count(Q(assigned_jobs__in=jobs)))
.order_by("count")
но все равно ничего не работает