У меня была модель, которая выглядит следующим образом:
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
username = models.TextField(max_length=100, unique=True)
# other fields
Затем, после дальнейшей работы над тем, что я строю, я понял, что очень важно, чтобы поле username
было немного по-другому, поэтомусделал изменение в этой строке:
username_internal = models.TextField(max_length=100, unique=True)
и побежал python manage.py makemigrations myapp
.
Он попросил у меня значение по умолчанию, но когда я смотрю на созданную им миграцию .py, мне не нравится то, что он сделал:
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2018-11-14 10:49
from __future__ import unicode_literals
import django.contrib.auth.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('myapp', '0002_user_internalid'),
]
operations = [
migrations.AddField(
model_name='user',
name='username_internal',
field=models.TextField(default=5, max_length=100, unique=True),
preserve_default=False,
),
migrations.AlterField(
model_name='user',
name='username',
field=models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username'),
),
]
Он пытается создатьновое поле, я просто хочу переименовать существующее поле.
Я новичок в Django (использую 1.11.4) Кто-нибудь знает, как это исправить?