菲尔德'id'期望一个数字,但得到了<薪水: : - 克劳德·马尼拉加巴>



我想在批准人力资源变更状态时启用编辑

def has_change_permission(self, request, obj=None):
salary = Salary.objects.filter(id=obj).first()
if obj.hr_state == 'request-change-approved' and request.user.user_role.position.code == 'HRM':
return True
else:
return False

您应该使用过滤薪资

id=obj.id

而不是与整个对象实例进行比较。

顺便说一句,当用空obj调用url时,id只有None,否则它将包含一个对象,所以不要担心None(我只是读了注释(

相关内容

最新更新