Создать две записи БД с отношением в SqlAlchemy - PullRequest
0 голосов
/ 18 апреля 2020

Мне нужно создать две записи в базе данных postgres, где вторая запись будет дочерней по отношению к первой, и помечает это отдельным полем parent, которое содержит id первой записи. Есть ли лучшее решение для достижения этой цели, чем сначала создать родительский элемент, затем запросить его id и заполнить его дочерним элементом?

Мое сопоставление:

class Report(Base):
    """
    Represents the structure of a single entry
    """
    __tablename__ = "reports"

    id = Column(Integer, primary_key=True)
    parent = Column(Integer)
    time_created = Column(DateTime(timezone=True), server_default=func.now())
    time_updated = Column(DateTime(timezone=True), onupdate=func.now())
    signature = Column(Text)
    report_data = Column(JSON)

и затем в моем коде Я делаю

session = self.db.session_maker()
# create entry for parent
report = Report(
    signature=self.dc.session.user
)
session.add(report)
session.commit()

, а затем я хотел бы добавить еще Reports, где поле parent содержит id родительского элемента. Но не уверен, что это лучший способ получить это id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...