﻿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
33485	inlineformset_factory generate more db subquerys when the model have fk	Reynaldo Juan Pereira Heredia	nobody	"in line 859 from django.forms.models the variable qs makes a new query from model._default_manager.get_queryset() insted of take values generated by queryset (in my case my queryset habe select_related and prefetch_related data because I don't want to repeat the subqueries internally) in inlineformset_factory.

Reason why having fk in the model generates many subqueries to collect again the data that already exists in the queryset variable, I have not found a better way to avoid such subqueries, so this seems to me to be an error

{{{
            if isinstance(pk, (ForeignKey, OneToOneField)):
                qs = pk.remote_field.model._default_manager.get_queryset()
            else:
                qs = self.model._default_manager.get_queryset()
            qs = qs.using(form.instance._state.db)
            if form._meta.widgets:
                widget = form._meta.widgets.get(self._pk_field.name, HiddenInput)
            else:
                widget = HiddenInput
            form.fields[self._pk_field.name] = ModelChoiceField(qs, initial=pk_value, required=False, widget=widget)
        super().add_fields(form, index)
{{{
"	Cleanup/optimization	closed	Forms	4.0	Normal	duplicate			Unreviewed	0	0	0	0	0	0
