Использование сигналов для создания данных в проекте Django после изменения булевой функции

У меня вопрос по поводу сигналов. У меня есть следующая модель, в которой есть булево значение по умолчанию False. Когда пользователь нажимает на кнопку, чтобы сделать его истинным, я хочу создать объекты в другой модели. Вот что я сделал, но не создавал и не вносил никаких изменений:

Вот начальная модель:

class Initial_Model(models.Model):
    active = models.BooleanField(default=False)

Вот модель, для которой я хочу создать объекты, когда активный булеан Initial_Model станет True:

class ActiveSession(models.Model):
    start_date = models.DateTimeField(auto_now_add=True,blank=True, null=True)
    end_date = models.DateTimeField(auto_now_add=True,blank=True, null=True)

@receiver(post_save, sender=Initial_Model)
def create_session(sender, instance, **kwargs):
    if Initial_Model.active == True:
        ActiveSession.objects.create()

Мой вопрос, является ли это правильным способом создания экземпляров в модели. Что я делаю неправильно и как это исправить.

вы можете реализовать свой сигнал следующим образом:

@receiver(pre_save, sender=Initial_Model)
def create_session(sender, instance, **kwargs):
    obj = sender.objects.get(instance.id)
    if not obj.active and obj.active != instance.active
        ActiveSession.objects.create()
Вернуться на верх