我想从Django中修改用户模型。
我的代码:
from django.db import models
from django.contrib.auth.models import User
User.add_to_class('secret_question', models.CharField(max_length="100"))
User.add_to_class('answer', models.CharField(max_length="100"))
User.add_to_class('DOB', models.DateField())
我在哪里放置此代码,以便python manage.py syncdb
创建正确的表格?
我尝试了主目录models.py
,我尝试了应用程序的目录models.py
(这两个没有生成正确的表),我尝试将其放在settings.py
的项目(错误,无法运行)。
答案 0 :(得分:7)
请查看身份验证文档的Storing additional information about users部分。它建议了一种更简洁的方法来向User对象添加其他信息。
如果您想存储与您的用户相关的其他信息,Django提供了一种方法来指定特定于站点的相关模型 - 称为“用户配置文件” - 用于此目的。
答案 1 :(得分:2)
如果您真的想要修补用户模型,那么已经存在一个应用程序。 Django-primate
模块化django用户。
这个Django应用程序猴子补丁 django为了拥有一个自定义用户 插入的模型 django.contrib.auth application。