重命名Django的auth_user表?

时间:2015-02-25 18:58:00

标签: django django-models

愚蠢的提问时间。在Django中,如果要指定模型表的名称,您可以这样做:

class MyModel(models.Model):
    ...
    class Meta:
        db_table = 'mymodel'

是否可以以类似的方式更改Django的默认auth_user表的名称?我总是对用户表运行手动查询,输入“用户”键会快得多。而不是' auth_user'。我查看了Django文档并进行了一些互联网搜索,但我还没有看到有人解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

SelcukDaniel Roseman都给了您很好的答案。您可以扩展User或AbstractUser类中的任何一个,但差别很小,对于后者,您还需要在Meta类中添加可交换属性。

以下是一个例子:

from django.contrib.auth.models import AbstractUser # (or simply User)

class MyUser(AbstractUser):

    class Meta:
        swappable = 'AUTH_USER_MODEL'  # ONLY for AbstractUser
        db_table = 'user'

但是,请注意使用'用户'作为表名,因为有数据库,这是一个保留字!!!

祝你好运。