我使用sqlalchemy,有两个模型,文章和标签,这是一个多对多的关系。
当我使用Flask-Admin添加文章时,我希望只有部分标签可用(与用户权限相关),而不是所有标签。
有什么想法吗?谢谢
发布于 2014-07-09 02:12:35
最好的方法可能是使用dynamic relationship loaders。只需在您的关系定义中使用lazy='dynamic‘:
posts = relationship(Post, lazy="dynamic")这将返回一个查询对象,而不是一个对象集合,因此您可以直接查询它:
posts = jack.posts.filter(Post.headline=='this is a post')您也可以使用鉴别器列或其他东西来实现您想要的结果,但这可能有些过分了。
发布于 2017-05-17 00:59:33
听起来你需要ModelView.get_query
class MyView(ModelView):
def get_query(self,*args,**kwargs):
return super(MyView,self).get_query(*args,**kwargs).filter_by(current_user.can_view=True)https://stackoverflow.com/questions/24592534
复制相似问题