आराम फ्रेमवर्क के साथ django में जटिल फिल्टर कैसे करें? - पायथन, django, django-विचार

मेरे पास Tipo_Unidad के 2 उपश्रेणी हैं, इसलिए मैं भेजता हूंके माध्यम से टिपo_unidad की आईडी प्राप्त करें यह चयनित चेकबॉक्स पर निर्भर करता है लेकिन मुझे एक समस्या है, जब मैं एक ही समय में दो वर्गीकरण का चयन करता हूं तो मैं इस प्रारूप में आईडी भेजता हूं [1,2] और मुझे पता नहीं है कि कैसे के लिए प्रत्येक ID के लिए क्वेरी प्राप्त करने के लिए मेरे django दृश्य में लूप।

यह मेरे विचार का हिस्सा है:

    q =  request.GET.get("tipo_venta")
i =  request.GET.getlist("id_tipo_unidad[]")
maxi =  request.GET.get("Max")
mini =  request.GET.get("Min")

if q  is not None or i is not None or maxi is not None  or mini is not None:
for var in i:
unidad = Unidad.objects.filter(id_tipo_unidad=var)
serializer = UnidadSerializer(unidad, many=True)
return Response(serializer.data)
else:
return Response({})

अगर मैं केवल एक आईडी भेजता हूं तो कोड काम करता है, लेकिन अगर मैं इसे दो "t काम भेजता हूं, और django कंसोल यह दिखाता है:

आधार के लिए अवैध शाब्दिक () आधार 10 के साथ: "1,2"

उत्तर:

जवाब के लिए 0 № 1

आप क्या करने की कोशिश कर रहे हैं, इसके लिए क्षेत्र की खोज है - आप कुछ ऐसा कर सकते हैं:

q = [1, 2]
unidad = Unidad.objects.filter(id__in=q)

जो आपको सब देगा Unidad वस्तुओं जो "है id सूची में है q। आप इसके साथ संबंध भी बना सकते हैं:

q = [1, 2]
unidad = Unidad.objects.filter(some_other_model__id__in=q)

संबंधित सवाल
सबसे लोकप्रिय