170 похожих чатов

Есть 3 модельки class ModelA(models.Model): name =

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))

5 ответов

2 просмотра

.annotate(cnt=Count(items)).filter(cnt=N)

там я так понимаю n не количество, как можно было бы подумать исходя из названия переменной)

A-S Автор вопроса

Да, сорян N это id модельки ModelB

мне кажется тебе нужно добавить м2м связь между моделями через эту таблицу, чтобы было проще обращаться

но если добавишь м2м тщ будет ModelA.objects.filter(model_b=N)

Похожие вопросы

Обсуждают сегодня

Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
why some site like google has separate page for username/email and password?
Mr Thieves
21
Может быть небольшое отступление, но я тут решил обратить внимание на то, сколько весит хелловорлд на с++... Зачем он весит почти 250 Кб? У меня оконное приложение на фасме ве...
The Bird of Hermes
13
@Dreamer_0x01 @helgispbru @Ambrion Разговор шёл об уязвимости. Меня беспокоит именно она. Все прочие вопросы, а равно и жизненная мудрость - пока в сторону :) Так вот сам ...
Андрей [aharito] Харитонов
5
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
What do you wanna learn?
Malware ( DM = BLOCK )
12
Всем привет. Программно добавляю документы в таблицу site_content в конце очищаю кеш $modx->clearCache(); Но документы появляются в дереве только после того как редактирую ...
Владимир
8
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
32
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
43
кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
40
Карта сайта