django - 记住绑定和未绑定表单之间的数据

时间:2017-11-27 11:04:43

标签: python django forms post

我正在定义一个新的Form,使用__init()__修改ModelMultipleChoiceField的查询集,并添加一个我将用于查询的变量:

class ProductPickerForChangeForm(forms.Form):
products = forms.ModelMultipleChoiceField(queryset=None)

def __init__(self, *args, **kwargs):
    user = kwargs.pop('user', None)
    total_amount = kwargs.pop('total_amount', None)
    super(ProductPickerForChangeForm, self).__init__(*args, **kwargs)
    if user and total_amount:
        self.fields['products'].queryset = # stuff
        self.total_amount = total_amount

现在,在views.py我正在为GET请求创建一个新的未绑定表单(参数来自用户):

form = ProductPickerForChangeForm(user=request.user, total_amount=amount)

但是,当我从POST请求创建绑定表单时,如何恢复以前用于创建未绑定表单的数据(同时查询集可能已更改) - 并且没有用户的风险弄乱了发布的数据呢?

0 个答案:

没有答案