﻿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
21405	Regression in ability to override queryset on BaseModelAdmin.formfield_for_foreignkey	guido@…	Claude Paroz	"After upgrading to Django 1.6, i have a problem with formfield_for_foreignkey.

This is my code:


{{{
class MatchScoreIntInline(admin.TabularInline):
    model = MatchScoreInt

    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == ""partial"":
            kwargs[""queryset""] = Partial.objects.filter(...my filters...)
        if db_field.name == ""subscriber"":
            kwargs[""queryset""] = Subscriber.objects.filter(...my filters...)
        return super(MatchScoreIntInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
}}}

The super method override my kwargs[""queryset""], only for ""subscriber"" db_field because of this code:

{{{
queryset = self.get_field_queryset(db, db_field, request)
        if queryset is not None:
            kwargs['queryset'] = queryset
}}}

get_field_queryset method return a new ordered queryset if the related admin has ""ordering"" parameter.
So I removed the ordering parameter from my ModelAdmin and everything works fine.

Why I cannot override the queryset with formfield_for_foreignkey method when the related_admin has ""ordering"" parameter set?"	Bug	closed	contrib.admin	1.6	Release blocker	fixed			Accepted	0	0	0	0	0	0
