क्या कोई प्रश्न पूछने का तरीका है और कई बार बहिष्कृत करने के बजाय चीजों की एक सूची को बाहर निकालना है?Django ऑब्जेक्ट एकाधिक बहिष्कृत()
उत्तर
नेड करने के लिए आपके उत्तर के आधार पर यह लगता है जैसे आप टैग की एक सूची को बाहर करना चाहते हैं।
names_to_exclude = [o.name for o in objects_to_exclude]
Foo.objects.exclude(name__in=names_to_exclude)
है कि तुम क्या चाहते हो करता है: तो तुम सिर्फ in
फिल्टर इस्तेमाल कर सकते हैं?
कॉलिंग के साथ क्या गलत है कई बार बहिष्कृत? प्रश्न आलसी हैं, तब तक कुछ नहीं होता जब तक कि आप इससे डेटा खींचने का प्रयास नहीं करते हैं, इसलिए एक से अधिक बार .exclude() का उपयोग करने के लिए कोई नकारात्मक पक्ष नहीं है।
मैं एक मॉडल एक टैग manytomany क्षेत्र है कि है। उपयोगकर्ता को अनदेखा टैग की बड़ी मात्रा हो सकती है। मैं उन वस्तुओं को गतिशील रूप से बाहर करना चाहता हूं जिन्हें उपयोगकर्ता देखना नहीं चाहता है। मुझे नहीं पता कि रन टाइम तक कितनी बार कॉल करना है। – Johnd
क्या आप कृपया बता सकते हैं कि "प्रश्न आलसी हैं" और "इससे डेटा खींचें" का क्या मतलब है? Thnx – akki
क्या आलसी मतलब यह है कि क्वेरी से वास्तव में उपयोग किए जाने तक डेटाबेस से कोई डेटा नहीं खींचा जाएगा। –
आप Q object साथ बहुत आसानी से कर सकते हैं:
from django.db.models import Q
excludes = None
for tag in ignored_tags:
q = Q(tag=tag)
excludes = (excludes and (excludes | q)) or q # makes sure excludes is set properly
set_minus_excluded = Foo.objects.exclude(excludes)
तुम भी बाहर निकालने के() के साथ गतिशील रूप से ऐसा करने में सक्षम होना चाहिए:
qs = Foo.objects.all()
for tag in ignored_tags:
qs = qs.exclude(tag=tag)
डैनियल Roseman के जवाब मुझे लगता है कि यह बेहतर होगा मूल्यों आप पाश के लिए के बजाय क्वेरीसमूह से सीधे की जरूरत है कि महंगा बड़े डेटा सेट IE पर हो सकता है पाने के लिए पर सुधार करने के लिए
names_to_exclude = objects_to_exclude.values_list('name')
Foo.objects.exclude(name__in=names_to_exclude)
आप कोशिश कर सकते हैं ये भी।
exclude_list = ['A', 'B', 'C'] qs = Foo.objects.exclude(items__in=exclude_list)
- 1. Django में एकाधिक साइटें
- 2. Django खोज एकाधिक फिल्टर
- 3. Django एकाधिक उपयोगकर्ता प्रोफाइल
- 4. Django एकाधिक फॉर्म फैक्टरी
- 5. Django मॉडल - ऑब्जेक्ट
- 6. ऑब्जेक्ट-स्तरीय अनुमतियां django
- 7. Django में ऑब्जेक्ट स्वामित्व
- 8. यूनिकोड 'ऑब्जेक्ट में Django
- 9. Django अद्यतन ऑब्जेक्ट
- 10. प्रति ऑब्जेक्ट एकाधिक प्रतिनिधि?
- 11. File.toURL() बहिष्कृत?
- 12. Django - एकाधिक साइट्स साइट कैशिंग
- 13. Django: values_list() एकाधिक फ़ील्ड concatenated
- 14. Django - एक दृश्य, एकाधिक यूआरएल?
- 15. Django url टैग एकाधिक पैरामीटर
- 16. लोडिंग संतुलन एकाधिक Django वेबसर्वर
- 17. Django एकाधिक और गतिशील डेटाबेस
- 18. Django पंजीकरण और एकाधिक प्रोफाइल
- 19. डेटाबेस प्राप्त करें django मॉडल ऑब्जेक्ट को
- 20. हिट ऑब्जेक्ट Lucene.Net 3.03 में बहिष्कृत, मैं इसे कैसे बदलूं?
- 21. django ऑब्जेक्ट प्राप्त/सेट फ़ील्ड
- 22. संयोजन/चेन एकाधिक jQuery ऑब्जेक्ट
- 23. बहिष्कृत android.text.clipboardManager
- 24. बहिष्कृत session_is_registered
- 25. बहिष्कृत Typedef
- 26. बहिष्कृत अर्थ?
- 27. बहिष्कृत __proto__
- 28. Enum.ToString() बहिष्कृत?
- 29. ISampleGrabber बहिष्कृत?
- 30. django
मैं इसे ऑब्जेक्ट्स_to_exclude की सूची के साथ करता हूं, मैं o.name: ignore_tags = request.user.ignore_tags.all() case_list = Case.objects.exclude (tag__in = ignore_tags) का उपयोग नहीं करता हूं) – Johnd