Модель User
и миграции находятся на стороне Django, вы не можете просто изменить эти миграции.
Если вы хотите изменить что-то в модели User
, вам необходимо создать настраиваемый пользователь. Если единственное, что вы хотите сделать, это изменить максимальную длину имени пользователя, это не так сложно. Этого должно быть достаточно:
from django.contrib.auth.models import AbstractUser
class MyUser(AbstractUser):
username = models.CharField(
_('username'),
max_length=1000, # Or whatever.
unique=True,
help_text=_('Required. 1000 characters or fewer. Letters, digits and @/./+/-/_ only.'),
validators=[username_validator],
error_messages={
'unique': _("A user with that username already exists."),
},
)
Вы захотите взять поле имени пользователя из кода Django, чтобы получить весь текст справки, валидаторы и т. Д. c., Это из текущего мастера.
Затем вам нужно установить это в settings.py:
AUTH_USER_MODEL = "my_app.MyUser"
Это будет надежно работать только для новых проектов. Если у вас есть существующий проект или вы не хотите создавать свою собственную модель пользователя, и вы хотите ограничить max_length ниже той, которая есть в модели, вы можете выполнить эту проверку в своей форме вместо модель.
Документация по замене / et c. модель пользователя .