Django QuerySet от одного ко многим и от многих к одному
работаю над проектом, где столкнулся с небольшой проблемой с QuerySets. (Посмотрите внизу, чтобы увидеть краткую диаграмму структуры моей модели). Я пытался запросить некоторую информацию BLOG-модели, начиная с Collection-модели. Так вот, лучше ли сначала запросить Entrie-модель и найти каким-то образом Коллекцию, чтобы потом найти Blog-модель и добавить информацию в Коллекцию? Или есть лучший / более быстрый способ получить информацию непосредственно из родительской модели? Обычно это просто, если у вас просто 1:n->1:n Relations, потому что вы можете легко следовать за foreignkey, но это меня смущает.
Вот краткий обзор структуры моей модели:
<--------------- QUERY DIRECTION ----------------
(BLOG) --(1:N)--> (ENTRIE) <--(N:1)-- (COLLECTION)
BR, Феликс
Отношения django работают в обе стороны, поэтому если вам нужна модель блога из модели коллекции, вы можете напрямую запросить модель блога, так что из вашей диаграммы:
class Blog:
entrie = models.ForeignKey(Entrie, on_delete=CASCADE)
class Entrie:
pass
class Collection:
entrie = models.ForeignKey(Entrie, on_delete=CASCADE)
поэтому ваш запрос может быть таким, если вы не указали никаких related_name
атрибутов для полей отношения вашей модели
Blog.objects.filter(entrie__collection={your_data})