У меня есть две взаимосвязи между моделями в Django, многие ко многим между Foo
и Bar
и внешний ключ на Foo
, указывающий на Bar
.
Когда я делаюВ запросе, который включает как Foo
, так и Bar
, django настаивает на использовании Внешнего ключа вместо M2M для объединения.
(M2M - это реальные данные здесь, Внешний ключ - всего лишь немногокэширования, чтобы я мог получить самые последние Bar
, созданные определенным методом.)
Так, например (где foos
- это имя отношения «многие ко многим» в Bar
)
Bar.objects.filter(foos__attribute = True)
Не возвращает все Bar
с этим атрибутом, а только тот, на который Bar
указывает * FK.Как я могу заставить его использовать M2M?Или это вообще плохая идея?