@bituke

Почему не удаляются отношения?

Нужно удалить все отношения с сегментами, в случае если industry_main изменилось
class Project(models.Model):
	'''Основная модель системы - паспорт проекта'''
	name = models.CharField('Короткое название проекта',
							max_length=255, default='Новый проект')
	financing_type = models.PositiveSmallIntegerField('Тип проекта', 
									choices=choices.FINANCING_TYPE, null=True, default=0)
	industry_main = models.ForeignKey(Industry, 
									on_delete=models.PROTECT,
									related_name='industry_main', blank=True, null=True)
	industry_segments = models.ManyToManyField(Segment, blank=True)
	
	class Meta:
		ordering = ['-create_date']

	def __init__(self, *args, **kwargs):
		super(Project, self).__init__(*args, **kwargs)
		self.init_industry_main = self.industry_main

	def del_segments(self):
		return self.industry_segments.clear()

	def save(self,*args, **kwargs):
		if self.init_industry_main!=self.industry_main:
			self.del_segments()
		super().save(*args, **kwargs)


На принтах все работает, сегменты вроде отчищаются, но в базе данных никаких изменений. В чем может быть проблема? Почему это не записывается в базу данных? Хотя если попробую переопределить name, то все работает так как нужно.
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы