Если вы потеряете свою БД, вам придется перезапустить миграцию со скоростью sh дБ, прежде чем программа сможет снова запуститься. Так что я думаю data migrations
может быть хорошим решением для этого? Миграция данных - это миграция, которая запускает код python для изменения данных в БД, а не схему, как обычная миграция.
Вы можете сделать что-то вроде этого:
In новый файл миграции (вы можете запустить python manage.py makemigrations --empty yourappname
, чтобы создать пустой файл миграции для приложения)
def generate_groups(apps, schema_editor):
Group = apps.get_model('yourappname', 'Group')
Group.objects.get_or_create(name="system_administrator")
Group.objects.get_or_create(name="manager")
Group.objects.get_or_create(name="travel_advisor")
class Migration(migrations.Migration):
dependencies = [
('yourappname', 'previous migration'),
]
operations = [
migrations.RunPython(generate_groups),
]
Стоит прочитать документы по этой https://docs.djangoproject.com/en/3.0/topics/migrations/#data -миграции