gpt4 book ai didi

Django:从抽象模型继承权限?

转载 作者:行者123 更新时间:2023-12-03 18:27:50 26 4
gpt4 key购买 nike

是否可以从 Django 中的抽象模型继承权限?
我真的找不到任何关于那个的东西。对我来说这不起作用!

class PublishBase(models.Model): 
class Meta:
abstract = True
get_latest_by = 'created'
permissions = (('change_foreign_items',
"Can change other user's items"),)

编辑:不工作意味着它默默地失败。未创建权限,因为它不会存在于从此类继承的模型中。

最佳答案

如果子类也定义了自己的权限,则不会继承权限 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 = ....

不需要在子 Meta 类中将 abstract 设置为 false,因为 Django 在处理它时将它在父类中设置为 False! http://docs.djangoproject.com/en/dev/topics/db/models/#meta-inheritance

关于Django:从抽象模型继承权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2964947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com