Ber*_*ant 4 django django-models abstract django-permissions
是否可以从Django中的抽象模型继承权限?我真的找不到任何相关的东西.对我来说这不起作用!
class PublishBase(models.Model):
class Meta:
abstract = True
get_latest_by = 'created'
permissions = (('change_foreign_items',
"Can change other user's items"),)
Run Code Online (Sandbox Code Playgroud)
编辑:不工作意味着它无声地失败.不会创建权限,因为在从此类继承的模型上不存在权限.
Ber*_*ant 10
如果子类也定义了自己的权限,则不会继承权限class Meta.我找到了以下解决方法,从而不必再在每个子模型上定义权限:
class AbstractBaseModel(models.Model):
class Meta:
abstract = True
permissions = (("test_permission","test permission"),)
class SomeClass(AbstractBaseModel):
name = models.CharField(max_length=255,verbose_name="Name")
class Meta(AbstractBaseModel.Meta):
verbose_name = ....
Run Code Online (Sandbox Code Playgroud)
不需要在子Meta类中将abstract设置为false,因为Django在处理它时将它在父级中设置为False!http://docs.djangoproject.com/en/dev/topics/db/models/#meta-inheritance
| 归档时间: |
|
| 查看次数: |
2373 次 |
| 最近记录: |