Fixed #22745 -- Prevented reevaluation of ModelChoiceField's queryset when accesssing BoundField's attrs

The PR looks good, but these line and the other docstring line needs a more verbose description.
here is a docstring from another regressiontest:
```
        """
        Regression test for #12913. Make sure fields with choices respect
        show_hidden_initial as a kwarg to models.Field.formfield()
        """
```

it describes what the Test does so that people directly know what it does ;)