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 
相似问题
						
 这是我这里写的一个逻辑,这个是在xadmin保存的逻辑的拦击,这里只要不调用obj.save()就不会保存,所以你只需要在save前修改你的逻辑然后再调用save方法就行了