models.CharField(max_length=1)
class ModelB(models.Model):
name = models.CharField(max_length=1)
class ModelAItems(models.Model):
model_a = models.ForeignKey(ModelA, on_delete=models.CASCADE, related_name='items')
model_b = models.ForeignKey(ModelB, on_delete=models.CASCADE)
Как получить список ModelA где у каждого объекта items__model_b=N?
Ну примерно так (:
ModelA.objects.annotate(items=ModelAItems.objects.filter(model_b__id=N, model_a_id=current_model_a_id))
.annotate(cnt=Count(items)).filter(cnt=N)
там я так понимаю n не количество, как можно было бы подумать исходя из названия переменной)
Да, сорян N это id модельки ModelB
мне кажется тебе нужно добавить м2м связь между моделями через эту таблицу, чтобы было проще обращаться
но если добавишь м2м тщ будет ModelA.objects.filter(model_b=N)
Обсуждают сегодня