您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 通过sqlalchemy关系通过backref属性获取父项子项会导致不必要的刷新

5b51 2022/1/14 8:20:39 python 字数 1878 阅读 449 来源 www.jb51.cc/python

我有像这样的sqlalchemy关系(为简单而修剪):class Parent(Base): __tablename__ = 'Parent' name = Column(String, nullable=False) def __init__(self, name) self.name = name class Child(Base)

概述

我有像这样的sqlalchemy关系(为简单而修剪):

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属性获取父项子项会导致不必要的刷新所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶