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.