Reload for prefetch_related updates may fail if object is filtered out. · Issue #4661 · encode/django-rest-framework (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@tomchristie

Description

@tomchristie

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.