Reload for prefetch_related updates may fail if object is filtered out. (original) (raw)

In the awkward case where prefetch_related has been applied to an update operation, we are required to refresh the instance from the database (see #4553)

The current implementation re-calls get_object(). We should instead call refresh_from_db directly on the model instance. This means that we don't have a potential case of get_object returning None because the update itself has effectively removed the object from the base queryset causing the lookup to fail.