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})
Вернуться на верх