![](/img/trans.png)
[英]Why user.is_superuser returns string in Django template?
[英]How can I define and refer to custom user groups in Django that I can sort against like user.is_superuser?
我在我的 Django 應用程序中創建了一些自定義用戶組,因為我想向他們展示不同的管理字段集。 我認為它們的工作方式與user.is_superuser
類似。
但他們沒有。
我的 ModelAdmin 中有這個定義:
def is_approver(user):
return user.groups.filter(name='approver').exists()
(順便說一下,我不知道那叫什么。你只是稱它為“def”嗎?)
所以這有效:
def get_fieldsets(self, request, obj=None):
if request.user.is_superuser:
return self.superuser_fieldset
我得到了預期的字段集。
但這不起作用:
def get_fieldsets(self, request, obj=None):
if request.user.is_approver:
return self.approver_fieldset
但是,這確實有效:
def get_fieldsets(self, request, obj=None):
if request.user.groups.filter(name='approvers').exists():
return self.approvers_fieldset
所以,我想我的基本問題是:為什么我的def
不像我期望的那樣工作?
(Python 3.9.7,Django 3.1)
在用戶模型中添加此代碼
@property
def is_approver(self):
return self.groups.filter(name='approver').exists()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.