以文档中的例子为例
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
addresses = db.relationship('Address', lazy='dynamic',
backref=db.backref('person', lazy='select'))
Run Code Online (Sandbox Code Playgroud)
我们只能在构建模型时将lazy参数设置为relationship。但我发现没有文档显示实例化后如何更改它。
在我的大多数情况下
user = User.query.first()
addresses = user.addresses.filter(is_del=0).all()
Run Code Online (Sandbox Code Playgroud)
这是一对多或
wallet = user.wallet
Run Code Online (Sandbox Code Playgroud)
这是一对一模型,我只需将惰性设置为动态或选择让模型仅获取我需要的数据。
但是最近我想使用管理前端页面导出数据库中的数据。
user_list = UserModel.query.all()
for x in user_list:
item = {
"ID": x.id if x.id else ''
}
if 'basic' in fields or is_all_field == 1:
ex_item = {
"Email": x.base.account,
"Full Name": x.base.full_name,
"Display Name": x.display_name if x.display_name else '', …Run Code Online (Sandbox Code Playgroud)