没有调用Django get_form_kwargs()

时间:2016-06-23 04:26:05

标签: python django

我有一个有3个部分的视图。顶部是搜索区域。左下部分显示了一个对象列表,右侧部分显示了所选对象的详细信息。

我的视图继承自ListView和FormView。

class SearchViewMixin(FormView):
    template = 'template here'
    form_class = forms.SearchForm

    def get_form_kwargs(self):
        print 'This is not being called'
        kwargs = super(SearchViewMixin, self).get_form_kwargs()
        kwargs['search-units'] = self.request.search.unit_set.all()
        return kwargs

class ListView(ListView, SearchViewMixin):

    def get_queryset()...
    def get_context_data()....

表单视图是这样的: -

class ReceiptSearchForm(BaseForm):

    obj_id = forms.IntegerField(required=False)

    unit = forms.ModelChoiceField(queryset=None, required=False, empty_label='Select a unit',
                                  widget=core.SelectPickerSearch)

    def __init__(self, *args, **kwargs):
        self.units = kwargs.pop('search-units', None)
        super(ReceiptSearchForm, self).__init__()
        self.fields['unit'].queryset = self.units

问题是没有调用get_form_kwargs方法。 print语句没有被执行

由于我没有编写或更新任何数据,我只是使用表单的get方法。

0 个答案:

没有答案