Во-первых, существующая модель находится в '0001_initial.py'.
После добавления «моделей», которые я добавила, и когда я делала «makemigrations», она переходит в «0002_xxx.py».
Мне удалось выполнить миграцию, и с базой данных проблем не возникло.
А потом, когда были добавлены эти «модели», я захотел поместить исходные данные в базу данных.
поэтому я создал папку для фиксации для ввода исходных данных после выполнения миграций.
Я поместил в нее файл json.
Однако, когда я изменил название 'model' и сделал 'makemigrations'снова у меня возникла ошибка при поиске таблицы.
Поэтому я сразу перешел на sqlite и стер все таблицы на новых моделях.
Затем я сделал миграцию.
После этого,
python3 manage.py migrate sbimage
Когда я выполняю здесь 'миграцию', как это,
django.db.utils.OperationalError: table "sbimage_camerathreshold" already exists
Есть такая ошибка.
python3 manage.py migrate sbimage --fake
Это сделало 0001, 0002 «FAKED».
Это мой файл 0002 был создан после «makemigrations».
from django.db import migrations, models
def load_my_initial_data(apps, schema_editor):
call_command("loaddata", "addition.json")
class Migration(migrations.Migration):
dependencies = [
('sbimage', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='AuthNumberR',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('auth_number_r', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='AuthNumberT',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('auth_number_t', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='Claimant',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('claimant', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='CountryOfOrigin',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('country_of_origin', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='EquipmentName',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('equipment_name', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='FccId',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('fcc_id', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='Manufacturer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('manufacturer', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='NbId',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('nb_id', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='Publisher',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('publisher', models.CharField(max_length=64)),
],
),
migrations.CreateModel(
name='WarningStateList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('warning', models.CharField(max_length=4096)),
],
),
migrations.CreateModel(
name='WifiWarningStateList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('wifi_warning', models.CharField(max_length=4096)),
],
),
migrations.RunPython(load_my_initial_data),
]
Как создать таблицу вновь созданных моделей вэта ситуация?
Этот код не работает вообще.
python3 manage.py migrate sbimage 0002
Запуск миграций: миграции не применяются.