When you want the choices to be determined at runtime, and a class-level function isn’t going to work for you, then you want to adjust the options on the field in the __init__
method of the form.
See the discussion at How to filter the choices in forms.Select widget?. (There are a few other discussions here that talk about this as well.)