Reload for prefetch_related
updates may fail if object is filtered out. · Issue #4661 · encode/django-rest-framework (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Description
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.