1

我正在使用 SQLAlchemy 模型视图

好吧,我正在尝试在我的管理员中管理每个项目的权限。因此,用户只能更改他们创建的模型实例。

我可以添加与“用户”表相关的“作者”列。

之后,在 django-admin 中,我们通常使用

def queryset:
    qs = super(...
    qs = qs.filter(author = request.user)
    return qs

那么,如何在烧瓶管理中做到这一点。Mb,这绝对是另一种方式,也许有“queryset”模拟?

4

2 回答 2

1

有几种方法可以做到这一点,但烧瓶管理员的一些文档可能很难获得,在这种情况下,和许多其他人一样,最好的办法是阅读源代码,你可以使用: BaseModelAdmin。 get_list自定义列表结果集,或BaseModelAdmin.get_one自定义单个对象的加载方式,或flask_admin.contrib.sqla.ModelView.get_query,因此最接近您的要求的是:

 from flask import current_user
 from flask_admin.contrib.sqla import ModelView

 class SomeView(ModelView):
     def get_query(self,*args,**kwargs):
         qs = super(SomeView,self).get_query(*args,**kwargs)
         qs = qs.filter_by(author=current_user)
         return qs
于 2017-05-16T16:55:10.700 回答
0

我认为这与烧瓶管理员无关。

.query您可以Flask-SQLAlchemy以与Django.

于 2013-09-05T13:42:03.123 回答