Python 一对多关系sqlalchemy id
在以下教程中,对于一对多关系,我有以下简单代码:Python 一对多关系sqlalchemy id,python,sqlalchemy,Python,Sqlalchemy,在以下教程中,对于一对多关系,我有以下简单代码: class Parent(Base): __tablename__ = 'parent' id = Column(Integer, primary_key=True) children = relationship("Child", back_populates="parent") class Child(Base): __tablename__ = 'child' id = Column(Integer
class Parent(Base):
__tablename__ = 'parent'
id = Column(Integer, primary_key=True)
children = relationship("Child", back_populates="parent")
class Child(Base):
__tablename__ = 'child'
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey('parent.id'))
parent = relationship("Parent", back_populates="children")
现在的问题是填充parent_id,只要我将子对象设置为列表,并将结果提交到数据库,如下所示:
# assume I have a session
children = Child(), Child(), Child()
p = Parent(children=children)
session.add(p)
session.commit()
如果我在此时检查数据库,则不会填充parent_id。我想这是有道理的,因为我还没有明确定义父id,但有没有办法让孩子们获得父id?父接受孩子们作为列表,以便:
children = [Child(), Child(), Child()]
...
p = Parent.query.first()
for child in p.children:
print(child.parent_id)
原始海报所输入的是一个元组,所以我恐怕你们并没有回答这个问题。