如何在 django 中覆盖现有的 Permission 模型__str__ method()?



默认情况下,权限模型str方法将对象返回为'%s | %s' % (self.content_type, self.name)。我只想显示 self.name.Is 有什么方法可以做到这一点? 我试过这个,但它不起作用。

from django.contrib.auth.models import Permission
class Permission(Permission):
def __str__(self):
return '%s' % (self.name)

你的东西不起作用,因为你的自定义Permission类与django.contrib.auth.modelsPermission类无关,即使它确实继承自它。尝试将Permission.__str__设置为函数

from django.contrib.auth.models import Permission
def permission_string_method(self):
return '%s' % (self.name)
Permission.__str__ = permission_string_method

甚至更好,我们lambda

from django.contrib.auth.models import Permission
Permission.__str__ = lambda self: '%s' % (self.name)

相关内容

最新更新