У меня есть эта структура модельных объектов:фильтр многие ко многим отношения в Django
Класс A:b = models.ManyToManyField("B")
Класс B:
c = models.ForeignKey("C")
d = models.ForeignKey("D")
Класс C:
d = models.ForeignKey("D")
Это запрос, Я пытаюсь получить:
Я хочу получить все объекты B объекта A, а затем в каждом объекте B выполнить сравнение между объектом D и объектом cd ,
Я знаю, что просто перемещайтесь по коллекции B с помощью цикла и сделайте это сравнение. Но я нырнул на ManyToMany отношения, то я заметил, что я могу сделать следующее:
bObjects = A.objects.all().b
q = bObjects.filter(c__d=None)
Это работает, это дает мне все объекты с гр None
г поля. Но когда я пытаюсь следующее:
q = bObjects.filter(c__d=d)
Это дает мне не d определены, но d является объектом, как с в объекте B.
Что может быть проблема? Я буду рад, если вы предложите дальнейший путь для выполнения этой задачи. Обычно я пытаюсь написать свой запрос за одну операцию со многими и многими вспомогательными объектами и не используя циклы.
всех эти а путают вы не мог бы выбрать лучшие имена: D? – maazza