ПРИМЕЧАНИЕ: этот вопрос задавался до AbstractUser существует, и это, вероятно, то, что вы хотели бы использовать в наши дни.
В основном я хотел бы удалить поле электронной почты по умолчанию из класса пользователя Django по умолчанию...
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
Поэтому мне любопытно, почему это не работает; что это за поля модели?
Еще одна вещь, которую я пробовал, - перезаписать электронную почту, создав электронную почту = None в MyUser, но это тоже не сработало (и было бы немного более уродливым).
Заранее спасибо!
P.S. Если вам интересно, почему; это больше для любопытства, чем то, что это действительно необходимо для приложения ... Но я думаю, что хорошо не иметь неиспользуемых столбцов в базе данных. P.P.S. Я не хочу изменять файлы Django, чтобы вручную удалить «электронную почту» от пользователя.
EDIT: Дополнительный вопрос здесь (для тех, кто хочет сделать то же самое) Перед syncdb удалить поле из стандартной модели Django