update()
is converted directly to an SQL statement; it doesn’t call save()
on the model instances, and so the pre_save
and post_save
signals aren’t emitted. If you want your signal receivers to be called, you should loop over the queryset, and for each model instance, make your changes and call save()
yourself.