Briefly, what you want to do is alter that field at the time it’s initialized, in the __init__
method of that form.
The issue here is that the form needs to be modified at two separate points in time - first, it needs to be set when the form is first generated for the GET request to get the initial form, then again when the data is posted - and it needs to be done individually for each instance of the form being created.
There have been a couple threads not too long ago that discussed this in more detail. (Using Ajax with forms.CheckboxSelectMultiple and a dependent dropdown is one of them, How to filter the choices in forms.Select widget? is another. Searching the forum for __init__
may help bring up others.)