愚蠢的提问时间。在Django中,如果要指定模型表的名称,您可以这样做:
class MyModel(models.Model):
...
class Meta:
db_table = 'mymodel'
是否可以以类似的方式更改Django的默认auth_user表的名称?我总是对用户表运行手动查询,输入“用户”键会快得多。而不是' auth_user'。我查看了Django文档并进行了一些互联网搜索,但我还没有看到有人解决这个问题。
谢谢!
答案 0 :(得分:0)
Selcuk和Daniel 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'
但是,请注意使用'用户'作为表名,因为有数据库,这是一个保留字!!!
祝你好运。