如何编辑flask-admin以支持多租户?
我正在使用Flask-peewee,想找个方法给管理员设置权限,我想做一个多租户的管理员仪表盘。
我已经做了一个用来显示交易的功能:
class DealsAdmin(ModelAdmin):
columns = ('deal_name', 'deal_desc', 'created_on')
exclude = ('created_on','merchand_id')
def get_query(self):
loggedin_username=auth.get_logged_in_user()
merchant=Merchant.select().where(Merchant.id == loggedin_username).get()
return self.model.select().where(self.model.merchand_id == loggedin_username)
所以现在我想在他们想编辑表单的时候,保持登录用户的ID作为商户ID。
*图片上的文字说明:Merchant_id必须默认是auth.loggedinid。
1 个回答
2
把这个字段从表单中去掉,然后在模型变化时进行处理:
class MyDealModelView(ModelView):
form_excluded_columns = ('merchant_id',)
def on_model_change(form, model, is_created):
model.merchant_id = login.current_user.merchant_id;