从Django中的auth_user迁移

时间:2015-06-28 13:17:11

标签: python django django-oscar

我在Django中创建了一个自定义用户模型,它运行良好。但是,我决定在项目启动并运行后创建一个自定义模型以满足我的需求。

因此,我将需要迁移模式(当前,当我注册用户时,代码仍然引用auth_user数据库表,其中新的自定义用户表为{{1} }。)

我已将user中的AUTH_USER_MODEL设置为settings.py,其中userapp.User是我的自定义用户应用,userapp是继承自User的模型{1}}模型。

我是Django的新手,无法理解如何实现这一目标。清理安装数据库的一种显而易见的方法,这不是我想要做的事情,因为它会删除我的所有数据。

我如何迁移呢?我听说AbstractUser用于此但我不知道如何使用它。此外,我认为在最近的Django版本中不需要South

我的Django版本是South

1 个答案:

答案 0 :(得分:0)

我最近这样做了 - 我们使用data migration在两个模型之间移动。粗略的步骤:

  1. 创建新的用户模型(不告诉Django),制作/应用迁移以创建数据库表
  2. 将数据迁移写入复制数据到新用户模型。然后运行此迁移并更新Django以使用新模型
  3. 现在您应该切换,并可以根据需要删除/存档旧auth_user