Jor*_*ril 14 python sqlalchemy
使用SQLAlchemy,有没有办法事先知道关系是否会延迟加载?
例如,给定一个惰性parent-> children关系和一个实例X"parent",我想知道是否已经加载了"X.children",而没有触发查询.
kol*_*pto 15
您可以从中获取所有已卸载属性(关系和列)的列表sqlalchemy.orm.attributes.instance_state(obj).unloaded.
请参阅:使用关系完成对象并避免在sqlalchemy中进行不必要的查询
一种更简单的方法是使用inspect(),它给出了相同的结果:
from sqlalchemy import inspect
from sqlalchemy.orm import lazyload
user = session.query(User).options(lazyload(User.articles)).first()
ins = inspect(user)
ins.unloaded # <- set or properties that are not yet loaded
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |