Obtengo un error literal no válido para int() con base 10: '1,303' y muestra el código de falla en falla. Los datos antiguos funcionan bien, son solo para cosas nuevas que agrego a la base de datos. ¿Algunas ideas?
def get(self, request, *args, **kwargs): cart = self.get_object() item_id = request.GET.get("item") delete_item = request.GET.get("delete", False) flash_message = "" item_added = False if item_id: item_instance = get_object_or_404(Variation, id=item_id) ... qty = request.GET.get("qty", 1) try: if int(qty) < 1: delete_item = True except: raise Http404Esta es la razón por la que debe usar formularios django en lugar de extraer datos directamente de request.GET o request.POST . Los formularios de Django le brindan una validación de datos que lo ayuda a evitar este tipo de cosas. El problema es el extra ',' en tu supuesta int.
int('1,303')Producirá el error anterior. Lo siguiente no:
int('1,303'.replace(',',''))Entonces, el remedio obvio es pasar su int a través de dicho filtro.
item_instance = get_object_or_404(Variation, id=int(item_id.replace(',',''))