Django 管理过滤器 has_add_permission 按模型中的测试值
Django admin filter has_add_permission by test value in model
当我的用户不是超级用户时,我以只读方式传递我的 TabularInline,并且我的模型管理员状态 table 与 1 不同,我以只读方式传递。
但我无法将相同的测试值应用于 has_add_permission。
Admin.py :
class ReadOnlyTabularInline(admin.TabularInline):
""" class Tabular Inline read only """
extra = 0
can_delete = False
editable_fields = []
readonly_fields = []
exclude = []
def get_readonly_fields(self, request, obj=None):
""" status filter readony """
if request.user.is_superuser or obj.id_status.id_status == 1:
return super(ReadOnlyTabularInline, self).get_readonly_fields(request, obj)
else:
return list(self.readonly_fields) + \
[field.name for field in self.model._meta.fields
if field.name not in self.editable_fields and
field.name not in self.exclude]
我要使用测试值
if request.user.is_superuser or obj.id_status.id_status == 1:
删除按钮添加
def has_add_permissions(self, request):
有什么想法吗?
谢谢
如果当前显示的表格数量超过max_num,动态link将不会出现。
我使用 max_num = 0 删除按钮添加
def get_readonly_fields(self, request, obj=None):
""" status filter readony """
if request.user.is_superuser or obj.id_status.id_status == 1:
return super(ReadOnlyTabularInline, self).get_readonly_fields(request, obj)
else:
self.can_delete = False
self.max_num = 0
return list(self.readonly_fields) + \
[field.name for field in self.model._meta.fields
if field.name not in self.editable_fields and
field.name not in self.exclude]
当我的用户不是超级用户时,我以只读方式传递我的 TabularInline,并且我的模型管理员状态 table 与 1 不同,我以只读方式传递。
但我无法将相同的测试值应用于 has_add_permission。
Admin.py :
class ReadOnlyTabularInline(admin.TabularInline):
""" class Tabular Inline read only """
extra = 0
can_delete = False
editable_fields = []
readonly_fields = []
exclude = []
def get_readonly_fields(self, request, obj=None):
""" status filter readony """
if request.user.is_superuser or obj.id_status.id_status == 1:
return super(ReadOnlyTabularInline, self).get_readonly_fields(request, obj)
else:
return list(self.readonly_fields) + \
[field.name for field in self.model._meta.fields
if field.name not in self.editable_fields and
field.name not in self.exclude]
我要使用测试值
if request.user.is_superuser or obj.id_status.id_status == 1:
删除按钮添加
def has_add_permissions(self, request):
有什么想法吗? 谢谢
如果当前显示的表格数量超过max_num,动态link将不会出现。
我使用 max_num = 0 删除按钮添加
def get_readonly_fields(self, request, obj=None):
""" status filter readony """
if request.user.is_superuser or obj.id_status.id_status == 1:
return super(ReadOnlyTabularInline, self).get_readonly_fields(request, obj)
else:
self.can_delete = False
self.max_num = 0
return list(self.readonly_fields) + \
[field.name for field in self.model._meta.fields
if field.name not in self.editable_fields and
field.name not in self.exclude]