【发布时间】:2012-01-05 04:41:30
【问题描述】:
注意:这是在 AbstractUser 存在之前提出的,这可能是您现在想要使用的。
基本上我想从默认的 Django User 类中删除默认的电子邮件字段...
class MyUser(User):
field = models.CharField(max_length = 10)
a = 'hello'
def b(self):
print 'world'
del User.email
del MyUser.email
del Myuser.field
所有这些都会给出 AttributeError。以下列方式删除方法或属性虽然可以正常工作:
del MyUser.a
del MyUser.b
所以我很好奇为什么这不起作用;这些模型字段是什么类型的东西?
我尝试的另一件事是通过在 MyUser 中创建 email = None 来覆盖电子邮件,但这也不起作用(而且会更难看)。
提前致谢!
附:如果您想知道为什么;更多的是出于好奇,而不是应用程序真正需要它......但我认为最好不要在数据库中使用未使用的列。 附言我不想更改 Django 文件以手动从用户中删除“电子邮件”。
编辑: 后续问题(针对那些想做同样事情的人)Before syncdb, delete field from standard Django model
【问题讨论】: