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)