我正在尝试创建组并为其添加一些权限。这是我所做的:
students = Group(name='Students')
students.save()
somemodel_ct = ContentType.objects.get(app_label='course', model='course')
can_view = Permission(name='Can View', codename='can_view_something',
content_type=somemodel_ct)
can_view.save()
can_modify = Permission(name='Can Modify', codename='can_modify_something',
content_type=somemodel_ct)
can_create = Permission(name='Can Create', codename='can_create_something',
content_type=somemodel_ct)
can_delete = Permission(name='Can Delete', codename='can_delete_something',
content_type=somemodel_ct)
can_delete.save()
但这对我来说似乎很丑陋,有没有其他方式(除了进入管理页面,我想避免)
发布于 2016-04-07 14:23:13
您可以在模型中声明自定义权限:
class Entity(models.Model):
class Meta:
# Remove default permissions, remove this line to keep them
default_permissions = dict()
# Custom permissions
permissions = (
("add_leadmarket", "Add new lead market"),
("edit_leadmarket", "Edit lead market"),
("delete_leadmarket", "Delete lead market"),
("list_leadmarket", "See list of lead markets"),
("view_leadmarket", "View lead market profile"),
)
user = models.OneToOneField(User)
parent = models.ManyToManyField(User, related_name='parents', blank=True)
# ...
https://stackoverflow.com/questions/36477774
复制