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, который будет проверять БД и создать данные при необходимости.