Мне нужно создать две записи в базе данных 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
.