2014-03-27 43 views
0

我找不到在django中添加我自己的组的明确说明。 我可以在管理页面中做到这一点。但这似乎并不正确。如何在django中添加用户组?

我GOOGLE了它,并有人说把这个

from django.contrib.auth.models import Group, Permission 

different_users = Group(name='Different Users') 
different_users.save() 
outstanding_users = Group(name='Outstanding Users') 
outstanding_users.save() 

的int __init__.py

这并不为我工作。 这是我得到的错误。

django.db.utils.IntegrityError: (1062, "Duplicate entry 'Different Users' for key 'name'") 

任何人都知道在django中创建不同组的正确方法? 我在django文档中找不到任何东西。

+0

可能您已经在数据库中拥有该组名称。 – karthikr

回答

1

使用管理界面添加组完全正常 - 事实上,这就是管理界面的用途。

将该代码放入__init__.py是绝对没有意义的。每次导入模块时(或者每次请求中的第一次,不知道确切的机制),都会运行该文件。那么你会尝试在每个单独的请求期间创建同一个组。

但是,该代码可以在python shell中使用 - 只需执行一次并在数据库中创建组。只需使用manage.py shell调用一个Django特定的Python shell,然后开始输入。但是,通过管理界面添加正确的权限可能更容易。如果你不关心权限,只想让用户分组在一起,这种方式就好。

相关问题