gpt4 book ai didi

python - 来自 django-admin 的 Flask-admin 查询集模拟

转载 作者:太空宇宙 更新时间:2023-11-03 18:50:04 25 4
gpt4 key购买 nike

我正在使用 SQLAlchemy ModelView

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

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

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

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

那么,如何在flask-admin 中执行此操作。 Mb,这绝对是另一种方式,也许有“queryset”模拟?

最佳答案

有几种方法可以做到这一点,但是 Flask 管理的一些文档可能很难获得,在这种情况下,就像在许多其他情况下一样,您最好的选择是阅读源代码,您可以使用: 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

关于python - 来自 django-admin 的 Flask-admin 查询集模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com