默认的SqlAlchemy关系加载策略是懒惰的。如果我想将其更改为其他默认值,我该怎么做?
我以为我在某个地方的文档中看到了它,但我无法再找到它。也许我没有看到这样的事情?
我想有一种方法是编写自己的relationship()方法,该方法调用SqlAlchemy的关系方法,但如果它是None,则将其设置为其他默认值,但是有没有内置的方法来执行此操作?
答案 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')