我最近开始在业余时间尝试使用 Django 开发一些 Web 应用程序。在为一个人设计数据模型时,我遇到了使用继承定义网站用户或使用框架已经提供的 User 类的猴子修补技术的两难境地。
我试图通过(在没有错误地定义我的所有模型等之后,根据python manage.py validate
)添加一个字段:
User.add_to_class('location', models.CharField(max_length=250,blank=True))
并执行了syncdb
命令。但是,我不断收到此错误
OperationalError:没有这样的列:auth_user.location
无论我是在站点的管理员视图中还是在 manage.py shell 中。我必须缺少一个额外的步骤,但是关于整个猴子修补技术的文档似乎有限。所以我在诉诸继承之前请你帮忙。当然,欢迎任何代码、提示或指向其他文档的指针。
提前致谢。
PS。我知道这种技术很丑陋,而且可能是不明智的。;)