Py学习  »  Python

python sqlacalchemy许多表中的任何条目[重复]

writes_on • 4 年前 • 255 次点击  

我不确定这是否可能,但我在使用sqlacalchemy的sqlite中有一个层次结构类型的结构。 在我的层次结构中,我希望向用户指示父级具有子级,而不需要加载所有子级。 我知道sqlAlchemy使用的是延迟加载,但是当我访问relationship属性时,整个列表就被加载了。由于一个父级可以有数千个子级,这对于测试来说是相当大的性能开销。 children != None .

目前的关系定义如下:

children = relationship('child',
                        cascade='all',
                        backref=backref('parent'),
                        )

我目前测试儿童使用:

qry = session.query(parenttable).all()

for parent in qry:
    if parent.children != None:
        childrenindication = [{'Name': '...'}]
    else:
        childrenindication = []

    hierarchylist.append({
                'Name': parent.name,
                'Children': childrenindication
                })

如果有一个更友好的方式来做这件事,那就太好了。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38212
 
255 次点击  
文章 [ 1 ]  |  最新文章 4 年前