在SqlAlchemy中,如何配置ALL relationship()以默认使用加载策略?

时间:2016-09-04 17:02:13

标签: sqlalchemy

默认的SqlAlchemy关系加载策略是懒惰的。如果我想将其更改为其他默认值,我该怎么做?

我以为我在某个地方的文档中看到了它,但我无法再找到它。也许我没有看到这样的事情?

我想有一种方法是编写自己的relationship()方法,该方法调用SqlAlchemy的关系方法,但如果它是None,则将其设置为其他默认值,但是有没有内置的方法来执行此操作?

1 个答案:

答案 0 :(得分:3)

没有办法将默认参数全局更改为relationship.lazy

您可以使用functools.partial

from functools import partial
from sqlalchemy.orm import relationship

relationship = partial(relationship, lazy='joined')

您可以稍后覆盖惰性参数,如下所示:

class User:
    ...
    things = relationship('Thing', lazy='select')