Как удалить запись из БД, при этом оставив у связанных моделей название удаляемой модели?
Нужна помощь. Уже 3 дня не могу придумать как сделать так, чтобы при удалении записи из таблицы "Категории", в БД у связанных записей оставалось название удаляемой категории, а не Null. У меня вот такие модели:
class Categories(models.Model):
constant_cat = 'constant' # постоянные
once_cat = 'once' # разовые
CAT_TYPES = [
(constant_cat, 'Постоянные'),
(once_cat, 'Разовые'),
]
income_cat = 'income'
outcome_cat = 'outcome'
CAT_INCOME_OUTCOME = [
(income_cat, 'Категория доходов'),
(outcome_cat, 'Категория расходов'),
]
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Пользователь')
category_name = models.CharField(max_length=255, default="Название категории", verbose_name='Название категории',
unique=True)
category_type = models.CharField(max_length=8, choices=CAT_TYPES, default=constant_cat)
income_outcome = models.CharField(max_length=11, choices=CAT_INCOME_OUTCOME, default=income_cat)
def __str__(self):
return self.category_name
class AbstractCash(models.Model):
class Meta:
abstract = True
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Пользователь')
sum = models.DecimalField(max_digits=19, decimal_places=2, verbose_name='Сумма')
categories = models.ForeignKey(Categories, on_delete=models.SET_NULL, verbose_name='Категория',
null=True, blank=True)
date = models.DateField(verbose_name='Дата записи')
date_record = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания записи')
def __str__(self):
return f'{str(self.categories)} {str(self.date)}'