我试图添加用户并将用户分配给组。下面的工作是添加用户,但是当我取消注释所示行时,我会得到下面所述的错误。如何消除错误,以便将用户(ur)添加到组中?谢谢你的帮助!
# This file is named passuserstack.py
# I call it by typing: python passuserstack.py johndoe
# to add a user named johndoe
import os
import sys
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dmt.settings")
from django.contrib.auth.models import User, Group
from django.contrib.auth import authenticate, login
arg1 = sys.argv[1]
def loginuser(myuser=arg1):
myuserpw = myuser + 'pw'
# Check to see if that user exists
if ( User.objects.filter(username=myuser).exists() ):
#do nothing
mynote = "I am a returning user"
else:
# create the user
mynote = "I am a new user"
ur = User.objects.create_user(myuser, 'notkeeping@email.com', myuserpw)
ur.is_staff = True
ur.save()
# assign permissions by assigning to a group
gp = Group.objects.get(name='NBI_graph_tool')
#gp.user_set.add(ur)
# when I uncomment the line just above this, I get the error :
# raise AppRegistryNotReady("Models aren't loaded yet.")
# django.core.exceptions.AppRegistryNotReady" Models aren't loaded yet.
if __name__ == "__main__":
loginuser()
正如Sandra在评论中指出的,您必须使用
django.setup()
。它记录在the Django project site相关问题 更多 >
编程相关推荐