Python 我如何保存复选框中的输入,当我只选中框中的一个选项时,它会给我一个错误

Python 我如何保存复选框中的输入,当我只选中框中的一个选项时,它会给我一个错误,python,django,Python,Django,如何保存复选框中的输入,当我选中复选框中的选项1并保存时,会出现一个错误,表示选项2没有值,反之亦然。但是当我把它们都标上的时候。我能够将它保存到数据库中,问题是在我的数据库中,如果没有输入,它应该只显示值1或0以及null 这是我现在的html代码 <div class="col-md-6"> <div class="form-group bmd-form-group"> <input type="checkbox" name="is_re

如何保存复选框中的输入,当我选中复选框中的选项1并保存时,会出现一个错误,表示选项2没有值,反之亦然。但是当我把它们都标上的时候。我能够将它保存到数据库中,问题是在我的数据库中,如果没有输入,它应该只显示值1或0以及null

这是我现在的html代码

<div class="col-md-6">
    <div class="form-group bmd-form-group">
        <input type="checkbox" name="is_regular" value="1"> Regular<br>
        <input type="checkbox" name="is_special" value="0"> Special<br>
    </div>
</div>
Views.py

def add_holidays(request):
    holiday_name = request.POST['holiday_name']
    date_start = request.POST['date_start']
    date_end = request.POST['date_end']
    is_regular = request.POST['is_regular']
    is_special = request.POST['is_special']

    holiday_info = Holiday(
            holiday_name=holiday_name,
            date_start=date_start,
            date_end=date_end,
            is_regular=is_regular,
            is_special=is_special
            )
    holiday_info.save()
    return render(request, 'holidays.html')
如果没有输入,它应该只显示值1或0以及null

假设
为常规值
为特殊值
接受空值,则可以使用:

def add_holidays(request):
    holiday_name = request.POST['holiday_name']
    date_start = request.POST['date_start']
    date_end = request.POST['date_end']
    is_regular = request.POST.get('is_regular', None)  # <-------
    is_special = request.POST.get('is_special', None)  # <-------

    holiday_info = Holiday(
            holiday_name=holiday_name,
            date_start=date_start,
            date_end=date_end,
            is_regular=is_regular,
            is_special=is_special
            )
    holiday_info.save()
    return render(request, 'holidays.html')
def添加假日(请求):
假日名称=请求。发布['假日名称']
date\u start=请求。POST['date\u start']
date\u end=请求。POST['date\u end']

is_regular=request.POST.get('is_regular',None)#我认为您可以将相同名称的复选框组合在一起:

<div class="col-md-6">
           <div class="form-group bmd-form-group">
              <input type="checkbox" name="is_regular_or_special" value="1"> Regular<br>
                      <input type="checkbox" name="is_regular_or_special" value="0"> Special<br>
            </div>
</div>
因此,该值将是o或1。o表示特殊,1表示常规

我认为您不需要两个数据库字段。可以使用一个字段来保存值,而不是使用两个字段


此外,如果您需要显示值,您可以轻松地从字段中选择值,并根据您可能决定的值确定是常规值还是特殊值

请同时包括您的
假日
型号。
<div class="col-md-6">
           <div class="form-group bmd-form-group">
              <input type="checkbox" name="is_regular_or_special" value="1"> Regular<br>
                      <input type="checkbox" name="is_regular_or_special" value="0"> Special<br>
            </div>
</div>
def add_holidays(request):
holiday_name = request.POST['holiday_name']
date_start = request.POST['date_start']
date_end = request.POST['date_end']
is_regular_or_special= request.POST['is_regular_or_special']