xadmin model筛选字段的choices
来源:4-5 自定义userprofile
慕粉2023095444
2019-01-07
class OrderListAdmin(object):
list_display = ('id','subuser',‘orderuser’,'appname','serverelease','odertype','uplinests','orderappname')
def formfield_for_dbfield(self,db_field, **kwargs,):
if db_field.name == "uplinests":
kwargs['choices'] = (
('remove', '已废弃'),
('Pending', '待审批'),
)
if self.request.user.username == '工单的审批人':
kwargs['choices'] += (('approval', '已审批'),)
return super().formfield_for_dbfield(db_field, **kwargs)
这里要获取当前数据的工单审批人,就是orderuser的值.一直找不到方法。
写回答
2回答
-
这是我这里写的一个逻辑,这个是在xadmin保存的逻辑的拦击,这里只要不调用obj.save()就不会保存,所以你只需要在save前修改你的逻辑然后再调用save方法就行了
00 -
慕粉2023095444
提问者
2019-01-07
根据当前的登录用户,来显示model字段的choices选项,就是想实现 self.request.user.is_superuser 之类的判断,不过标准不是是不是超级用户,而是是不是该工单的审批人。
022019-01-09
相似问题