我有一个部署在Heroku上的Django Web应用程序。我使用Django的用户模型进行身份验证。我的目标是将username
字段从30个字符延长到100个字符。
我使用自己的User
模型覆盖了默认的AbstractUser
模型:
class AbstractUser(AbstractBaseUser, PermissionsMixin):
username = models.CharField(
_('username'),
max_length=30,
unique=True,
help_text=_('Required. 100 characters or fewer. Letters, digits and @/./+/-/_ only.'),
validators=[
validators.RegexValidator(
r'^[\w.@+-]+$',
_('Enter a valid username. This value may contain only '
'letters, numbers ' 'and @/./+/-/_ characters.')
),
],
error_messages={
'unique': _("A user with that username already exists."),
},
)
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
email = models.EmailField(_('email address'), blank=True)
is_staff = models.BooleanField(
_('staff status'),
default=False,
help_text=_('Designates whether the user can log into this admin site.'),
)
is_active = models.BooleanField(
_('active'),
default=True,
help_text=_(
'Designates whether this user should be treated as active. '
'Unselect this instead of deleting accounts.'
),
)
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
我想将username
字段的max_length从30更新为100.我可以在本地执行此操作而不会出现任何问题,只需将行max_length=30
更新为max_length=100
,即可运行{{ 1}}和python manage.py makemigrations
。
但是,迁移文件是在我的虚拟环境python manage.py migrate
文件夹中创建的,因此我不确定将其部署到Heroku的位置。我通过(venv\Lib\site-packages\django\contrib\auth\migrations)
文件排除了我的整个venv文件夹。我在Heroku上没有venv文件夹。
我应该在何处/如何部署迁移文件并将其应用于Heroku?