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