There are many Stack Overflow posts about recursion using the post_save signal, to which the comments and answers are overwhelmingly: \"why not override save()\
post_save
you can use update instead of save in the signal handler
queryset.filter(pk=instance.pk).update(....)