相关疑难解决方法(0)

如何在南迁移中访问auth用户的User.objects.create_user(...)?

我没有使用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,这解释了错误.

现在,我甚至需要的原因 …

migration django django-authentication django-south

14
推荐指数
2
解决办法
5834
查看次数