क्या डीजेंगो क्वेरी एक्सप्रेस (उदा। Q(first_name="Jordan")
, जहां Q
django.db.models.Q
है) और बिटवाई या उन्हें एक साथ लेने का कोई तरीका है?पायथन सूची बिटवाई ऑपरेशंस
दूसरे शब्दों में, मैं कुछ इस तरह है:
search_string = "various search terms"
और मैं ऐसा करना चाहते हैं:
search_params = [Q(description__icontains=term) for term in re.split(r'\W', search_string)]
search_params = something_magical(search_params)
results = Record.objects.filter(search_params)
जहां search_params
अब Q(description__icontains="various") | Q(description__icontains="search" | Q(description__icontains="terms"
के बराबर है मैं जानता हूँ कि यह होगा इस तरह के एक समारोह के साथ संभव हो:
def something_magical(lst):
result = lst[0]
for l in lst[1:]
result |= l
return result
तो मुझे आश्चर्य है कि यह कार्यक्षमता पहले ही पाइथन में बनाई गई है (और मुझे लगता है कि यह मेरे फ़ंक्शन से अधिक अनुकूलित है)।
हालांकि मुझे इस एप्लिकेशन के लिए इसमें दिलचस्पी है, लेकिन मुझे सैद्धांतिक रूप से इसमें दिलचस्पी है।
मुझे नहीं लगता कि ऐसा डीजेंगो ऑपरेटर है ... लेकिन आप केवल सभी "या" प्रश्नों को कर सकते हैं और फिर परिणामों को गठबंधन करने के लिए पाइथन सेट ऑपरेटर का उपयोग कर सकते हैं? (http://docs.python.org/library/sets.html#set-objects) –
@ रिचर्डग्रीन जो बहुत बदसूरत प्रश्न बना सकते हैं –