在django默认情况下,当syncdb在安装django.contrib.auth的情况下运行时,它会在每个模型上创建默认权限......比如foo.can_change,foo.can_delete和foo.can_add。要向模型添加自定义权限,可以添加类Meta:在该模型下定义权限,如此处所述https://docs.djangoproject.com/en/dev/topics/auth/#custom-permissions如何在django中为用户模型添加自定义权限?
我的问题是,如果我想向User模型添加自定义权限,应该怎么做?像foo.can_view。我可以用下面的代码片段做到这一点,
ct = ContentType.objects.get(app_label='auth', model='user')
perm = Permission.objects.create(codename='can_view', name='Can View Users',
content_type=ct)
perm.save()
但我想要的东西,与执行syncdb在我的定制机型很好地发挥,例如类元。我应该只在Meta类中有这些:在UserProfile下,因为这是扩展用户模型的方式。但这是正确的方法吗?这不会将它与UserProfile模型绑定吗?
你可以做,在模型的迁移:http://stackoverflow.com/a/32706020/538284 –