manually create a Django QuerySet or rather manually add objects to a QuerySet -
असल में मुझे निम्न कार्य करने के लिए एक शानदार तरीका चाहिए: -
obj1 = Model1 Get (attribute1 = value1) obj2 = Model1.objects.select_related ('model2')। Get (attribute2 = value2) model2_qs = QuerySet (मॉडल = मॉडल 2, qs_items = [obj1.model2, obj2]। .model2])
मुझे सही नहीं लगता हो सकता है, लेकिन ऐसा कुछ करने से मेरे लिए असीम बेवकूफ लगता है: -
obj1 = Model1 ऑब्जेक्ट्स.सेक्ट_संबंधित ('मॉडल 2')। Get (attribute1 = value1) model2_qs = Model2.objects.filter (pk = obj1.model2.pk)
हां, मुझे इसके साथ समाप्त करने की आवश्यकता है बाद में उपयोग के लिए Model2 का QuerySet (विशेष रूप से एक Django फॉर्म के पास)।
उपरोक्त पहले कोड ब्लॉक में, अगर मैं फ़िल्टर
का उपयोग get < / कोड> मुझे स्पष्ट रूप से Model1 का QuerySet होगा रिवर्स लुकअप हमेशा मेरे मामले में संभव नहीं हो सकता है।
यदि आप बस एक क्वेरीस बनाने की तलाश कर रहे हैं जो कुछ जटिल प्रक्रिया के माध्यम से आप एसक्यूएल में प्रतिनिधित्व नहीं करते हैं, आप हमेशा __ में
ऑपरेटर का उपयोग कर सकते हैं।
wanted_items = set () item1.objects में आइटम के लिए सभी (): यदि check_want_item (आइटम): wanted_items.add (item.pk) वापसी मॉडल1.objects.filter (pk__in = wanted_items)
आपको स्पष्ट रूप से इसे अपने स्थिति लेकिन इसे कम से कम आपको एक प्रारंभिक बिंदु देना चाहिए।
Comments
Post a Comment