Django ModelChoiceField: set di query di filtraggio e impostazione del valore predefinito come object

Ho definito una class di Django Form come questa nei Models :

 class AccountDetailsForm(forms.Form): ... adminuser = forms.ModelChoiceField(queryset=User.objects.all()) 

Funziona bene, ma ha alcune limitazioni che non riesco a risolvere:

(1) Vorrei usare un filtro sul queryset, basato su un accountid variabile passato al form, in questo modo:

 User.objects.filter(account=accountid) 

Questo non può funzionare nel modello, perché accountid non può essere passato come variabile, ovviamente.

Ne consegue che il queryset deve in qualche modo essere definito nelle Views , ma per quanto posso vedere è un campo obbligatorio nella class Form.

(2) Vorrei fare la scelta predefinita di AccountDetailsForm un object nel database, che posso selezionare nella Views questo modo:

 User.objects.filter(account=accountid).filter(primary_user=1) 

Ho provato a specificare l’adminuser come valore predefinito nel modulo, (che funziona con altri campi modulo standard, come CharField ):

 adminuser = User.objects.filter(account=accountid).filter(primary_user=1) ... form = AccountDetailsForm({'adminuser': adminuser}) return render_to_response('accounts/edit/accountdetails.html', {'form': form, 'account':account}) 

Ma senza fortuna.

Dovrei usare qualcosa di diverso da ModelChoiceField data la flessibilità di cui ho bisogno qui?

Grazie.