I understand it's needed. You have two different scenarios: the admin building the form field, or another system (user) building the form field. The default behaviour is this code, which uses the model ordering (Meta....). But you can override specifying the queryset kwarg, and that is what the admin does (changes to options.py) to override the Meta ordering with the ModelAdmin ordering. You can't expect to always have the argument, because of the situations when the field is being build outside the admin. And you can't ignore the argument because of the situations when the admin is building the field, asking for a specific queryset. Am I wrong?