在 Django 中对现有模型进行子类化
我不确定为什么这不起作用,因为它似乎正是 django 文档 告诉我要做什么。
我希望能够对内置用户模型进行子类化,以便我可以向其中添加额外的字段。
from django.contrib.auth.models import User
class Person(User):
my_extra_field = models.CharField(max_length=30)
#...
这看起来很简单,按照我的理解,User 的所有方法都应该可供 Person 使用。但是,
user = Person.objects.create_user('john', '[email protected]', 'johnpassword')
在 django shell 中调用会导致错误。
这只是 shell 的一个怪癖(我正在使用 iPython),还是我做错了什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
http://scottbarnham.com/ blog/2008/08/21/extending-the-django-user-model-with-inheritance/
您需要包含 UserManager()。导入 User、UserManager 并将 UserManager() 设置为 Person 类中的变量对象。
http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/
You need to include the UserManager(). Import the User, UserManager and set the UserManager() to the variable objects in your Person class.