Hi, I'm facing an error with the Place Order button not working when the user is choosing the default address. Kindly help me out in this regard and let me know if any other files are needed. Thank you in advance Regards, Aritra.
class Address(BaseModel): user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True) address = models.CharField(max_length=500, null=True) phone = models.CharField(max_length=10, null=False) city = models.CharField(max_length=100, null=True) state = models.CharField(max_length=100, null=True) pincode = models.CharField(max_length=100, null=False) default = models.BooleanField(default=False, null=True, blank=True) def __str__(self): return self.user.username class Meta: verbose_name_plural = 'Addresses' <div class="row"> {% if default_address %} <div class="custom-control custom-checkbox"> <input type="checkbox" class="control-input" name="use_default" id="use_default"> <label class="control-label" for="use_default">Use default shipping address: {{ default_address.address|truncatechars:40 }}</label> </div> {% endif %} </div> <div class="clearfix"> <button type="submit" class="filled-button pull-left"> <a style="color: #cd9921;" href="{% url 'store:cart-page' %}" >Back</a> </button> <button type="submit" class="filled-button pull-right">Place Order</button> </div> class CheckoutView(View): def get(self, *args, **kwargs): try: order = Cart.objects.get(user=self.request.user, ordered=False) form = CheckoutForm() context = { 'form': form, 'order': order, } shipping_address_qs = Address.objects.filter( user=self.request.user, default=True ) if shipping_address_qs.exists(): context.update( {'default_address': shipping_address_qs[0]}) return render(self.request, "checkout.html", context) except ObjectDoesNotExist: messages.info(self.request, "You do not have an active order") return redirect(reverse('store:cart-page')) def post(self, *args, **kwargs): form = CheckoutForm(self.request.POST) try: order = Cart.objects.get(user=self.request.user, ordered=False) if form.is_valid(): use_default = form.cleaned_data.get( 'use_default') if use_default: print("Using the default shipping address") address_qs = Address.objects.filter( user=self.request.user, default=True ) if address_qs.exists(): shipping_address = address_qs[0] order.shipping_address = shipping_address order.save() else: messages.info(self.request, "No default shipping address available") return redirect('store:cart-page') else: address = form.cleaned_data.get('address') pincode = form.cleaned_data.get('zip') phone = form.cleaned_data.get('phone') city = form.cleaned_data.get('city') state = form.cleaned_data.get('state') if form.is_valid(): shipping_address = Address( user=self.request.user, address=address, pincode=pincode, state=state, city=city, phone=phone ) shipping_address.save() order.shipping_address = shipping_address order.save() set_default = form.cleaned_data.get( 'set_default') if set_default: shipping_address.default = True shipping_address.save() else: messages.info(self.request, "Please fill in the required shipping address fields") except ObjectDoesNotExist: messages.warning(self.request, "You do not have an active order") return redirect(reverse('store:cart-page')) return redirect(reverse('store:payment-page')) -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFecadue4NPnM7K12gr1R8PhCOgk9cX0P0JmOTWD%2BD0UhB%3DaMg%40mail.gmail.com.