num*_*gil 2 django permissions admin django-admin
我有一个用户配置文件模型,其自定义权限定义如下:
class Profile(models.Model):
# A few profile fields here...
class Meta:
permissions = (
('can_approve', _(u'Can review and approve new accounts')),
)
Run Code Online (Sandbox Code Playgroud)
当我实际查看Django管理站点中的Profile对象时,我认为没有任何方法可以向用户实际授予此权限.
最简单的方法是什么?(例如,给用户Joe'can_approve'权限?)
向Meta添加权限不足以在管理面板中看到它.Meta中定义的权限仅用于在运行时在auth_permission表中创建权限manage.py syncdb.
尝试运行syncdb,或手动将权限添加到数据库或从代码创建权限.将其添加到db后,它将在管理面板中显示.
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(app_label='myapp', model='Profile')
permission = Permission.objects.create(codename='can_approve',
name=_(u'Can review and approve new accounts'),
content_type=content_type)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |