在Django 1.7中从auth_user切换到CustomUser

时间:2015-07-08 12:56:32

标签: mysql django python-2.7 django-models

我一直在使用auth.User用户模型。现在我将我的用户模型更改为custom.CustomUser。在使用auth.User期间制作了各种模型。因此,我的mysql数据库中的每个表都创建了列名user_id,或者具有'auth_user'的外键约束。由于发生了很多问题。除此之外的一切都很好。 AUTH_USER_MODEL指向我的'custom.CustomUser'表,每个新用户都存储在CustomUser中。有没有办法将现有表的引用从auth_user更改为custom_customuser。我正在使用不支持南方的Django 1.7(据我所知)。

1 个答案:

答案 0 :(得分:0)

如您所述,您需要更新模型以指向settings.AUTH_USER_MODEL。这是一个例子:

your_field = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='yourmodel_yourfield')

然后,您需要使用Django的内部迁移。编写South的Andrew Godwin现在是Django的核心贡献者,所以对于使用South的人来说,他们应该相当熟悉:

文档:https://docs.djangoproject.com/en/1.8/topics/migrations/

如果你升级到1.7,那么跳转到1.8也是值得的。您需要修改TEMPLATE设置和urls.py模式。 1.8是Django的长期版本。祝你好运!