This has been discussed multiple times here. You can search to find some examples.
You might want to start with Passing an altered queryset to ModelChoiceField. The 4th message in that thread has links to some other threads on this same topic.
This has been discussed multiple times here. You can search to find some examples.
You might want to start with Passing an altered queryset to ModelChoiceField. The 4th message in that thread has links to some other threads on this same topic.