Django запрос для получения данных

Я попал в очень запутанную ситуацию, когда у меня есть отношение один ко многим и я хочу запросить данные, например, я хочу получить все данные родительской таблицы, но хочу получить только данные из дочерних таблиц, которые выполняют условие site_id = 100.

class Policy(Base):
    """table containing details for Policies"""
    __tablename__ = "UmbrellaPolicy"
    id = Column(Integer, primary_key=True)
    policy_id = Column(Integer, nullable=False, index=True)
    user_defined_name = Column(String(255), nullable=True)

а ребенок вот такой

class Site(Base):
    __tablename__ = "Site"
    id = Column(Integer, primary_key=True)
    policy_id = Column(Integer, ForeignKey("Policy.id"))
    site_id = Column(String(32), nullable=False, index=True)
    policy = relationship("Policy", backref="sites")

Вы должны иметь возможность фильтровать отношения присоединения следующим образом

parents = Policy.objects.filter(site__site_id=100)

Вы можете найти больше информации об API запросов Django здесь, но обычно он имеет форму, где вы ссылаетесь на отношение с classname__columnname есть много других способов фильтрации/запроса, которые вы можете найти в документации

Вернуться на верх