sql - Django dynamic filter -
मेरे पास एक उत्पाद है:
वर्ग उत्पाद (models.Model): ... गतिशील विशेषताओं के लिए fk के साथ इस उत्पाद की विशेषताएं:
वर्ग ProductFeatures (models.Model): उत्पाद = models.ForeignKey ('उत्पाद') गतिशील विशेषता नाम मॉडल:
वर्ग विशेषताएँ श्रेणी (मॉडलों) । मॉडल): शीर्षक = मॉडल.कारफिल्ड (अधिकतम_लांबी = 255, वर्बोज़_नाव = _ (u'Ð ?? Ð ° Ð · вР° ниÐμ ')) और प्रत्येक के लिए मान विशेषता:
वर्ग सुविधाएँ (models.Model): श्रेणी = models.ForeignKey ( 'FeaturesCategory') मूल्य = models.CharField (MAX_LENGTH = 255, verbose_name = _ (u'Ð ?? нР<ÐμниÐμ ')) code> यह सब काम करने का उदाहरण:
हमने सुविधाओं का निर्माण किया है वस्तु वस्तु - "रंग", इसमें कुछ मान जोड़े गए हैं: "रेड", "ग्रीन", "ब्लू" "1", "2", "3"
इस हम उत्पाद में जोड़ने के सभी, उदाहरण के लिए: मूल्यों के साथ "गणना" - और एक और FeaturesCategory ऑब्जेक्ट जोड़
रंग - लाल गणना - 3
मुसीबत, इस उत्पाद को कैसे फ़िल्टर करना है ?? <प्री> परम के लिए self.request.GET: यदि नहीं परम [ 'pangination', 'दृश्य', 'आदेश', 'पेज'] में: नाम, मूल्य = param.split ( '_') filters.append (क्यू (productfeatures__features_category__title = नाम, productfeatures__features_category__features__value = मूल्य)) हम दो "पैरामीटर" है, तो फिल्टर करने के लिए यह काम नहीं करता
आप क्यू प्रकार का निर्माण गतिशील उस तरह somethink shoud:
qlist = [] फिल्टर में इंटरनेट के लिए: अगर lEN (इंटरनेट) == 2: फाई = fi.split ( '_') qlist .append (क्यू ((इंटरनेट [0], इंटरनेट [1]))) अगर qlist: YourModel.objects.filter (कम करने (operator.and_, qlist))
Comments
Post a Comment