这个
model choice field docs
显示如何在
__init__
方法
class goForm(ModelForm):
user_choice = goModelChoiceField(
widget=forms.RadioSelect,
queryset=None,
empty_label=None,
to_field_name='docfile',
label = 'Please select'
)
def __init__(self, user, *args, **kwargs):
super(goForm, self).__init__(*args, **kwargs)
self.fields['user_choice'].queryset = Document.objects.all().filter(who_upload=user)
class Meta:
model = go
fields = ['user_choice']
注意
__初始化__
方法现在将用户作为参数,所以请记住在视图中实例化表单的任何位置传递它。例如:
form = goForm(user=request.user, data=request.POST)