我没有使用django的auth模块,而是使用了我自己的模块而且已经后悔了很多.
为了纠正这种情况,我正在尝试将数据从我的用户模型迁移到django.auth.models.User.
我创建了一个数据迁移,如下所示:
def forwards(self, orm):
"""Migrate user information from mooi User model to auth User model."""
OldUser = orm['mooi.User']
User = orm['auth.User']
Profile = orm['mooi.Profile']
oldUsers = OldUser.objects.all()
for oldUser in oldUsers:
newUser = User.objects.create_user(username=oldUser.id, email=oldUser.email, password=oldUser.password)
# ...more irrelevant code follows...
Run Code Online (Sandbox Code Playgroud)
当我运行迁移时,我收到此错误(追溯):
#...irrelevant traceback precedes...
File "[projdir]/mooi/migrations/0005_from_mooi_users_create_auth_users_with_profiles.py", line 18, in forwards
newUser = User.objects.create_user(username=oldUser.id, email=oldUser.email, password=oldUser.password)
File "[virtual_env_dir]lib/python2.6/site-packages/south/orm.py", line 397, in __getattr__
return getattr(self.real, name)
AttributeError: 'Manager' object has no attribute 'create_user'
Run Code Online (Sandbox Code Playgroud)
经过进一步调查,我发现Manager所提到的是时间south.orm.NoDryRunManager,这解释了错误.
现在,我甚至需要的原因 …