python - Django CBV form using list of objects -
i trying create form list of cars 1 field being booleanfield. want appear form booleanfield being checkbox. if user checks this, booleanfield set = true , happen when post occurs , user redirected next page.
model.py:
class car(models.model): year = models.integerfield() make = models.charfield(max_length=30) model = models.charfield(max_length=30) send = models.booleanfield(default=false) currenly email.html looks this:
<form action="" method="post">{% csrf_token %} {% car in object_list %} <input type="checkbox" name="car" id="car{{ forloop.counter }}" value="{{ car.id }}"> <label for="car{{ forloop.counter }}">{{ car.year }} {{ car.make }} {{ car.model }}</label><br> {% endfor %} <input type="submit" value="preview"> </form> views.py
class email(listview): model = car template_name = 'cars/email.html' suggestions?
i ended adding post() function listview processes form data, having trouble redirecting without valid httpresponse object , getting error when 1 of boxes isn't checked in form. here additional post() code added time being:
def post(self, request, *args, **kwargs): cars = car.objects.all() # reset "self.send" field == false in range(len(cars)): cars[i].send = false cars[i].save() cars = car.objects.filter(id__in=request.post.getlist('car')) in cars: i.send = true i.save() return httpresponseredirect(reverse('cars:email_preview')) any suggestions on how make form re-render error msg if no boxes checked?
thanks
Comments
Post a Comment