К сожалению, я сталкиваюсь с некоторыми проблемами при переносе файлов миграции Django, так как у меня слишком много моделей, скажем, для этой чрезвычайно специфической базы данных; поэтому у меня есть 6 файлов миграции. У меня их много по простой причине: «слишком много моделей». Я пытаюсь определить причину невозможности миграции, и я считаю, что это 1) (указатель указан мне) переполнение стека и 2) память.
Это код в файле миграции, который я хочу удалить:
operations = [
migrations.AlterField(
model_name='pnote1',
name='status',
field=models.CharField(choices=[('5', 'test5'), ('4', 'test4'), ('3', 'test3'), ('6', 'test6'), ('1', 'test1'), ('2', 'test2')], default='1', max_length=1),
),
Есть 100 из этих AlterFields. Мне интересно, могу ли я удалить их, не нанося вреда базе данных; это просто казалось излишним иметь эти AlterFields, хотя ничего не было изменено. Модели (унаследованные от абстрактной модели) имеют следующее:
option = models.CharField(max_length=1, choices=TYPE, default='1')
Порядок выбора, который у меня был изначально, был 1-6, а не этот беспорядок. И в каждом файле миграции количество миграций. AlterField просто продолжает расти по какой-то странной причине. Итак, еще раз, я могу удалить это без ущерба для базы данных?
Редактировать: это когда я мигрировал, а не делал миграции.
Fatal Python error: Cannot recover from stack overflow.
Current thread 0x00001528 (most recent call first):
File "c:\users\test\appdata\local\programs\python\python37-32\Lib\contextlib.py", line 130 in __exit__
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\state.py", line 318 in render_multiple
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\state.py", line 191 in _reload
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\state.py", line 158 in reload_model
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\state.py", line 97 in add_model
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\operations\models.py", line 86 in state_forwards
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\migration.py", line 114 in apply
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\executor.py", line 245 in apply_migration
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\executor.py", line 147 in _migrate_all_forwards
File "C:\Users\test\test\testvenv\lib\site-packages\django\db\migrations\executor.py", line 117 in migrate
File "C:\Users\test\test\testvenv\lib\site-packages\django\core\management\commands\migrate.py", line 234 in handle
File "C:\Users\test\test\testvenv\lib\site-packages\django\core\management\base.py", line 83 in wrapped
File "C:\Users\test\test\testvenv\lib\site-packages\django\core\management\base.py", line 364 in execute
File "C:\Users\test\test\testvenv\lib\site-packages\django\core\management\base.py", line 323 in run_from_argv
File "C:\Users\test\test\testvenv\lib\site-packages\django\core\management\__init__.py", line 375 in execute
File "C:\Users\test\test\testvenv\lib\site-packages\django\core\management\__init__.py", line 381 in execute_from_command_line
File "manage.py", line 17 in main
File "manage.py", line 21 in <module>
Edit2:
class Stick1(models.Model):
TYPE = {
('1', 'test1'),
('2', 'test2'),
('3', 'test3'),
('4', 'test4'),
('5', 'test5'),
('6', 'test6'),
}
option = models.CharField(max_length=1, choices=TYPE, default='1')