Django создания строк при инициализации проекта

Допустим есть модель, которая при любом действии с БД, когда данные удаляются, заново создавала в себе данные заданные по дефолту, но так же могла предоставлять возможность пользователю вносить свои правки.

class SubOperations(models.Model):
    title = models.CharField(max_length=255, blank=True, null=True)

    def __str__(self):
        return self.title

Допустим есть список операций, который нужно добавить при миграции бд.

suboper_default = [
    {'1': 'Create'},
    {'2': 'Update'},
    {'3': 'Hide'},
    {'4': 'Delete'},
]

Можно ли добавить логику создания такой модели через init метод ? Или есть более правильное решение задачи.

def __init__(self):
    for i in suboper_default:
        SubOperations.objects.create(i.values())

Ответы (1 шт):

Автор решения: Za Ars

Как вариант, можете сделать обработчик сигнала post_delete, post_migrate на модель SubOperations, который будет проверять БД и создать данные при необходимости.

→ Ссылка