我有一个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)