Django signal post_save not created return two times

когда я пытаюсь обновить пост в сигнале, происходит такая ошибка from django.db.models.signals import post_save

@receiver(post_save, sender=Post)
def post_save_receiver(sender, instance, created, *args, **kwargs):

 if created:
    print(instance.author, " Created")


 else:
    print(instance.author, " was just saved")

вывод:

root was just saved

root was just saved

вот когда я обновляю пост, он запускается два раза, почему?

Я не уверен на 100% в вашем случае, но вместо печати, вы должны создать его.

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)


@receiver(post_save, sender=User)
def save_profile(sender, instance,  **kwargs):
    try:
        instance.profile.save()
    except ObjectDoesNotExist:
        Profile.objects.create(user=instance)
Вернуться на верх