2

私はmodels.pyを持っています:

class MyModel(models.Model):
    ...
    fries_with_that = models.BooleanField()

フォーム.py:

class MyModelForm(ModelForm):

    class Meta:
        model = MyModel
        fields = (
            'fries_with_that',
        )

これは問題なく動作し、選択肢として「不明」、「はい」、「いいえ」のドロップダウンが表示されます。しかし、私は本当にチェックボックスが欲しいです。だから私は追加しました:

編集

        def __init__(self, *args, **kwargs):
            super(MyModelForm, self).__init__(*args, **kwargs)

            self.fields['fries_with_that'].widget = forms.CheckboxInput()

チェックボックスが表示されるようになりましたが、チェックすると、フォームは の値を返しますNone。どうしてこれなの?

編集

ビュー.py:

form = MyModelForm(request.POST or None)
if form.is_valid():
    # UPDATE PROJECT
    updated = MyModel.objects.filter(
        project_id=project_id
    ).update(**form.cleaned_data)
    if updated == 0:
        project = form.save()
4

1 に答える 1