首页 > 其他分享 >django forms.ModelChoiceField 过滤queryset中的结果

django forms.ModelChoiceField 过滤queryset中的结果

时间:2022-09-20 21:36:24浏览次数:78  
标签:form queryset ModelChoiceField django forms date total

form中设置

class TotalMarkForm(forms.Form):
    crew_infos = forms.ModelChoiceField(
        queryset=models.Crew2Train.objects.all(),
    )
    closing_date = forms.DateField()

    train_marks = forms.ModelChoiceField(
        queryset=models.TrainMark.objects.all(),
        label='车次',
        widget=forms.Select(attrs={'class': 'form-control', })
    )


    total = forms.FloatField(
        label='日进款',
        initial=0.0,
        widget=forms.NumberInput(attrs={'class': 'form-control'})
    )
    plan = forms.FloatField(
        label='日计划',
        initial=0.0,
        widget=forms.NumberInput(attrs={'class': 'form-control'})
    )

想过滤点crew_infos里,当日未出现的班组

view中

    if date_inquery:
        crew_train_formset = formset_factory(myform.TotalMarkForm, extra=m_num)
        total_mark_form = myform.TotalMarkForm()
        在return到前端生成以前,对TotalMarkForm里的属性重新赋值,
        total_mark_form.fields['crew_infos'] = forms.ModelChoiceField(
            queryset=models.TotalMark.objects.filter(closing_date=date_inquery),
            initial='乘务组',
            label='乘务组',
            error_messages={
                'required': '不能为空'
            },
            widget=forms.Select(attrs={'class': 'form-control', }),
        )
        total_mark_form.fields['closing_date'] = forms.DateField(
            label='日期',
            initial=date_inquery,
            widget=forms.DateInput(
                attrs={
                    'type': 'date',
                    'class': 'form-control',
                }
            )
        )
        total_mark_form.fields['train_marks'] = forms.ModelChoiceField(
            queryset=models.TotalMark.objects.filter()
        )

        return render(request, 'total_mark_edit.html', locals())

 

标签:form,queryset,ModelChoiceField,django,forms,date,total
From: https://www.cnblogs.com/vPYer/p/16712624.html

相关文章