【发布时间】:2014-11-27 20:07:29
【问题描述】:
我正在尝试为 django 管理员创建单独的用户,该用户具有有限的权限而不是常规管理员。我知道最好的方法是使用代理管理员,但我遇到了一些问题。
我有模型结构,不太可能改变。每个模型都继承自一些抽象基模型类。而且我无法添加proxy=True 子句。模型的结构或多或少是这样的:
class AbstractObject(models.Model):
@property
def some_property_that_applies_to_each_child_model(self):
pass
class Meta():
abstract = True
class ModelOne(AbstractObject):
id_field = models.IntegerField(primary_key=True)
@property
def some_custom_property(self):
pass
class ModelTwo(AbstractObject):
id_field = models.IntegerField(primary_key=True)
@property
def some_other_custom_property(self):
pass
现在我想创建受限制的管理员帐户,该帐户只能执行一些与 db 无关的操作。我知道我需要在每个模型的class Meta 定义中添加proxy=True,但它不起作用......我收到错误raise typeerror(proxy model %s has no non-abstract model base class. % name),这很明显。我应该创建某种非抽象模型基础模拟类并将其添加到数据库表中吗?
我希望你能明白我遇到了什么
【问题讨论】:
标签: python django proxy django-admin