概述
class Parent(Base):
__tablename__ = 'Parent'
name = Column(String,nullable=False)
def __init__(self,name)
self.name = name
class Child(Base):
__tablename__ = 'Child'
name = Column(String,nullable=False)
parent = relationship(Parent,backref=backref('children')
def __init__(self,name,parent)
self.name = name
self.parent = parent
在我的对象工作的同时:
parent = Parent("my parent")
db_session.add(parent) # must be done for other reasons not relevant to the issue.
child = Child("my child",parent)
到现在为止还挺好.
但是在我执行以下操作之前,我得到了一个DB flush:
children = parent.children # using the backref causes a flush
通过改变我定义backref /关系的方式可以避免这种情况吗?
with session.no_autoflush:
parent = Parent("my parent")
db_session.add(parent)
child = Child("my child",parent)
总结
以上是编程之家为你收集整理的python – 通过sqlalchemy关系通过backref属性获取父项子项会导致不必要的刷新全部内容,希望文章能够帮你解决python – 通过sqlalchemy关系通过backref属性获取父项子项会导致不必要的刷新所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧