Django向用户profi添加两个字段

2024-03-29 14:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图添加两个额外的配置文件字段,并使本机身份验证像正常工作。你知道吗

我正试图搁置文档here 所以here

在我的设置文件中

#settings.py
AUTH_USER_MODEL = 'users.User'

在我的用户.用户型号

#users/models.py
from django.contrib.auth.models import AbstractUser
from django.db import models

class User(AbstractUser):
    foo = models.CharField(max_length=32, default='Blue')
    bar = models.CharField(max_length=32, default='Blue')
    print "user.user"

我已经创建了3个超级用户可以登录到管理。我尝试在添加用户后同步数据库。我尝试在添加用户之间重新启动dev服务器。你知道吗

我唯一一次看到打印输出”用户.用户“是当我运行createsuperuser命令时。你知道吗

我想我不能登录,因为用户没有真正被创建。它运行我的用户类,然后跳过实际创建用户。但我对这件事还不太熟悉,所以我可能离我的联盟太远了。你知道吗

为什么我不能登录以及如何添加这两个字段?你知道吗


Tags: django用户frompyimportdefaultheremodels
1条回答
网友
1楼 · 发布于 2024-03-29 14:24:48

你看过Django文档中的警告了吗?你知道吗

Changing AUTH_USER_MODEL has a big effect on your database structure. It changes the tables that are available, and it will affect the construction of foreign keys and many-to-many relationships. If you intend to set AUTH_USER_MODEL, you should set it before running manage.py syncdb for the first time.

If you have an existing project and you want to migrate to using a custom User model, you may need to look into using a migration tool like South to ease the transition.

如果出现此警告,您是在使用新的数据库,还是正在使用South进行迁移?如果您有一个现有的数据库并做了这些更改,那么仅仅运行syncdb很可能是不够的。你知道吗

如果这是一个没有任何重要数据的开发服务器,我会重新创建您的数据库,然后运行./manage.py syncdb。如果您使用的是SQLite数据库,那么您可以简单地将其复制到其他地方(如果您希望保留数据),然后再次运行syncdb来创建一个新的数据库。你知道吗

Here is the relevant documentation.

这也将有助于准确地知道你收到什么错误。您是否尝试登录并且管理员告诉您您的用户/密码组合不正确,或者是否引发了实际的错误?你的问题不太清楚。你知道吗

相关问题 更多 >