擅长:python、mysql、java
<p>您是对的,模型实例在<code>query_factory</code>中不可用,但实际上并不需要有一个函数传递到该字段。您可以只创建一个查询并将其直接传递给表单。这避免了实例变量,可以在单个方法中完成。在</p>
<pre><code>class ManySideObjView(ModelView):
def edit_form(self, obj):
form = super(ManySideObjView, self).edit_form(obj)
query = self.session.query(OneSideObj).filter(
(OneSideObj.active == False) | (OneSideObj.many_side_obj_id == obj.id))
form.one_side_objs.query = query
return form
</code></pre>