更名为Django';s auth_用户表?
愚蠢的提问时间。在Django中,如果要指定模型表的名称,可以执行以下操作:更名为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文档,在互联网上搜索了一些,但我没有看到有人回答这个问题 谢谢 两者都有,给了你很好的
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进行子类化。为什么不呢?海报需要用户
拥有的所有功能,只需更改表名即可。