我正在做一个基于session_key参数操作的项目。
我想从数据库中获取数据并将变量添加到表单中的choicefield中。使用ModelChoiceField(queryset=.,empty_label="(Nothing)”)可能是一个选项,但我仍然不能将session_key作为参数来过滤查询集。
所以我的问题是,我如何从视图中的请求中获取session_key并将其传递给forms类中的queryset?
谢谢!
更新:
表格:
class B.B.B.C.(forms.Form):definit(self,var_list,*args,**kwargs):super(ChartForm,self).init(*args,**kwargs)self.fields 'x'] = forms.ChoiceField(choices=tuple([(name,name)for name in var_list]))self.fields 'y'] = forms.ChoiceField(choices=tuple([(name,name)for name in var_list]))
但是现在我不能把REQUEST.POST传递给表单.
form = ChartForm(var_list=df.columns.to_list())
2条答案
按热度按时间iswrvxsc1#
你可能想搜索的词是“Django”和“dynamic ChoiceField”。
我手头没有一个例子,但是this question似乎和我猜的差不多。
ohtdti5x2#
好了,现在我一直在使用“试错法”和一个大的选择问题在这里的堆栈。
如果你想从django模型中动态创建choicefield而不使用modelform,你可以通过 *args和 *kwargs来获得。
我在FORMS.py修改了我的表格如下:
然后我在www.example.com文件中传递了请求.POST和VIEWS.py_list():dataframe.columns.to
现在我有了一个表单,它可以通过Pandas Dataframe访问动态变量名,并将它们添加到表单中的下拉样式选择字段中:-)