lundi 15 août 2016

Django checkbox not being submitted when unchecked

I am developing a django application. In my forms. I have a checkbox in my form. My forms submits fine when the box is checked, but when the box is unchecked, the form fails to submit. The field I am using is Boolean.

Here is my code:

#models.py

class Ingredient(models.Model):
    user = models.ForeignKey('auth.User')
    recipe_id = models.ForeignKey(Recipe, on_delete=models.CASCADE)
    title = models.CharField(max_length=500)
    instructions = models.CharField(max_length=500)
    rules = models.TextField(max_length=500,blank=True)
    primal = models.CharField(default='False',max_length=500)
    def __str__(self):
        return self.title

#views.py

def create_ingredient(request):
    form = IngredientForm(current_user=request.user)
    if request.method == 'POST':
           form = IngredientForm(request.POST, current_user=request.user)
           if form.is_valid():
               current_user = request.user
               data = form.cleaned_data
               ingredient_data=Ingredient.objects.create(user=current_user, recipe_id=data['recipe_id'], title=data['title'], primal=data['primal'], instructions=data['instructions'], rules=data['rules'])
               ingredient_data.save()
               ingredient = Ingredient.objects.get(pk = ingredient_data.pk)
               return redirect('ingredient_detail', pk=ingredient.pk)
           else:
               messages.error(request, "Error")
    return render(request, 'create_ingredient.html', {'form': form })


#in my template
....
<div class="form-group">
<div class="checkbox">
      <label><input type="checkbox" name="" value="True" id="primal1">Primal</label>
</div>
</div>
....

Does anyone have a solution?

Aucun commentaire:

Enregistrer un commentaire