如何根据当前用户创建Django表单ChoiceField?

如何根据当前用户创建Django表单ChoiceField?,django,django-forms,Django,Django Forms,我有一个Django表单,当前用户必须在其中选择他或她最喜欢的狗,例如: class DogForm(forms.Form): favorite_dog = forms.ChoiceField(label='Select favorite dog.', choices=[]) 不幸的是,当前登录的用户记录在会话中,Django表单无法访问该会话,因此我无法填充选项列表。选择的形式应为 [(dog.pk, dog.name) for dog in user.dogs.all()] 我可以通

我有一个Django表单,当前用户必须在其中选择他或她最喜欢的狗,例如:

class DogForm(forms.Form):
  favorite_dog = forms.ChoiceField(label='Select favorite dog.', choices=[])
不幸的是,当前登录的用户记录在会话中,Django表单无法访问该会话,因此我无法填充选项列表。选择的形式应为

[(dog.pk, dog.name) for dog in user.dogs.all()]
我可以通过表单构造函数输入选择吗?就像在中一样,当我构造表单进行验证时,我尝试修改构造函数,如

my_form = DogForm(request.POST, user=current_logged_in_user)

你是说这样吗?我觉得这对我不合适。当我用
form=DogForm(request.POST,user=current\u logged\u in\u user)
实例化一个表单时,我得到一个错误:
\uuuu init\uuuu()为关键字参数“user”获取了多个值。