Миграции Django. Изменяются порядки выбора AlterField.Могу ли я удалить это? - PullRequest
0 голосов
/ 21 мая 2019

К сожалению, я сталкиваюсь с некоторыми проблемами при переносе файлов миграции 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...