﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
22553	Add ability to refresh queryset	giggaflop@…	David Hoffman	"I propose adding a Queryset method '.refresh()' which will clear the built-in cache on any queryset passed to it.

I suggest an initial implementation of:


{{{
    def refresh(self, *args, **kwargs):
        """"""
        Returns a new QuerySet instance with the args ANDed to the existing
        set.
        """"""
        self._result_cache = None
        return self
}}}

Reason this is requested:

When I'm using modelformsets I typically find the need to refresh the queryset that is used by the ModelFormset.

To do this I perform the following action:


{{{
        updated_formset = ConciergeUserPoolFormset(request.POST)
        if updated_formset.is_valid():
            updated_formset.save()
            queryset = updated_formset.get_queryset()
            # we need an updated queryset, not the cached version. set the results cache to None to force re-fetch
            queryset._result_cache = None
            updated_formset = ConciergeUserPoolFormset(queryset=queryset)
}}}

This is not an obvious solution to the issue of updating a ModelFormset or forcing a queryset update in general, it also uses a private method of the Queryset object which I would prefer to avoid."	New feature	closed	Documentation	1.6	Normal	fixed			Ready for checkin	1	0	0	0	1	0
