更名为Django';s auth_用户表?

更名为Django';s auth_用户表?,django,django-models,Django,Django Models,愚蠢的提问时间。在Django中,如果要指定模型表的名称,可以执行以下操作: class MyModel(models.Model): ... class Meta: db_table = 'mymodel' 是否可以以类似的方式更改Django的默认auth_user表的名称?我总是对用户表运行手动查询,键入“user”比键入“auth_user”要快得多。我看过Django文档,在互联网上搜索了一些,但我没有看到有人回答这个问题 谢谢 两者都有,给了你很好的

愚蠢的提问时间。在Django中,如果要指定模型表的名称,可以执行以下操作:

class MyModel(models.Model):
    ...
    class Meta:
        db_table = 'mymodel'
是否可以以类似的方式更改Django的默认auth_user表的名称?我总是对用户表运行手动查询,键入“user”比键入“auth_user”要快得多。我看过Django文档,在互联网上搜索了一些,但我没有看到有人回答这个问题

谢谢

两者都有,给了你很好的答案。您可以扩展User类或AbstractUser类中的一个,但对于后者,您还需要在元类中添加swappable属性

以下是一个例子:

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'
但是,请注意使用“user”作为表名,因为有些数据库中这是一个保留字


祝你好运

应该可以使用自定义类对
User
进行子类化,然后将其用作自定义用户模型:是的,除非您应该对AbstractUser而不是User进行子类化。为什么不呢?海报需要
用户
拥有的所有功能,只需更改表名即可。