你在哪里猴子修补Django用户模型?

时间:2011-06-14 21:47:50

标签: python django monkeypatching

我想从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的项目(错误,无法运行)。

2 个答案:

答案 0 :(得分:7)

请查看身份验证文档的Storing additional information about users部分。它建议了一种更简洁的方法来向User对象添加其他信息。

  

如果您想存储与您的用户相关的其他信息,Django提供了一种方法来指定特定于站点的相关模型 - 称为“用户配置文件” - 用于此目的。

答案 1 :(得分:2)

如果您真的想要修补用户模型,那么已经存在一个应用程序。 Django-primate

  

模块化django用户。

     

这个Django应用程序猴子补丁   django为了拥有一个自定义用户   插入的模型   django.contrib.auth application。