क्वेरी सेट एजेंट
प्रासंगिक MToफ़ील्ड और seसीधे एक्सेस करते समय, संबंधित मॉडल की एक सूची वापस आ जाती है।
लेकिन यह क्वेरीसेट एपीआई के एक सबसेट को भी उजागर करता है, इसलिए आप मूल नमूना से सीधे संबंधित मॉडल को फ़िल्टर कर सकते हैं, बना सकते हैं, चुन सकते हैं।
!!!ध्यान दें कि, डिफ़ॉल्ट रूप से, सार्वजनिक Queryको केवल मूल नमूना से संबंधित मॉडल वापस करने के लिए फ़िल्टर किया गया है।
1 | |
!!!ध्यान दें कि QueryProके माध्यम से Queryविधियों तक पहुँचने पर, आपको सामान्य क्वेरी की तरह ऑब्जेक्ट गुणों का उपयोग करने की आवश्यकता नहीं है।
1 2 3 | |
!!!चेतावनी Toसे संबंधित मॉडल क्वेरी करना मूल नमूना पर लोड किए गए संबंधित मॉडल की सूची को साफ करता है:
1 2 3 4 5 6 7 8 9 | |
डेटाबेस से डेटा पढ़ें
प्राप्त करें
प्राप्त करें (**kwargs): -> नमूना
नाम से फ़िल्टर किए गए प्रासंगिक मॉडल में से केवल एक प्राप्त करने के लिए, आप प्राप्त कर सकते हैं (**Kwargs) विधि।
1 2 3 4 5 6 7 8 9 | |
!!!टिप क्वेरी दस्तावेज़ में और पढ़ें
प्राप्त करें या बनाएं
get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool]
मानदंडों को पूरा करने वाली पंक्तियों को प्राप्त करने का प्रयास, और यदि कोई Noअपवाद फेंक दिया जाता है, तो दिए गए kwarऔर \ _ डिफ़ॉल्ट के साथ एक नई पंक्ति बनाई जाती है।
!!!टिप क्वेरी दस्तावेज़ में और पढ़ें \ _ या \ _ बनाएं
सभी
all(**kwargs) -> List[Optional["Model"]]
संबंधित मॉडल की सूची प्राप्त करने के लिए, सभी () विधि का उपयोग करें।
कृपया ध्यान दें कि आप क्वेरी सेट को फ़िल्टर कर सकते हैं, प्रासंगिक का चयन कर सकते हैं, फ़ील्ड को बाहर कर सकते हैं, और इसी तरह सामान्य प्रश्नों की तरह।
1 2 3 4 5 6 7 | |
!!!टिप क्वेरी दस्तावेज़ में और पढ़ें
पुनरावृत्ति
iterate(**kwargs) -> AsyncGenerator["Model"]
संबंधित मॉडलों पर पुनरावृत्त करने के लिए, पुनरावृत्त () विधि का उपयोग करें।
कृपया ध्यान दें कि आप क्वेरी सेट को फ़िल्टर कर सकते हैं, प्रासंगिक का चयन कर सकते हैं, फ़ील्ड को बाहर कर सकते हैं, और इसी तरह सामान्य प्रश्नों की तरह।
1 2 3 | |
!!!टिप क्वेरी दस्तावेज़ पुनरावृत्ति में और पढ़ें
डेटाबेस में डेटा डालें/अपडेट करें
बनाएँ
बनाएँ (**kwargs): -> मॉडल
मूल नमूना से सीधे संबंधित मॉडल बनाएं।
डेटाबेस में लिंक की गई तालिकाओं और संबंधपरक आईडी स्वचालित रूप से आबाद हैं।
1 2 3 4 | |
!!!टिप क्वेरी दस्तावेज़ निर्माण में और पढ़ें
कई-से-कई रिश्तों के लिए, यदि आप स्पष्ट रूप से प्रदान किए गए पास-थ्रू नमूना पर अतिरिक्त फ़ील्ड घोषित करते हैं, तो मापदंडों को पारित करने की एक अतिरिक्त क्षमता है जिसका उपयोग पास-थ्रू नमूना बनाने के लिए किया जाएगा।
इस तरह के नमूने को देखते हुए:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
आप निम्न तरीकों से बनाएँ () कॉल में नमूना द्वारा फ़ील्ड को आबाद कर सकते हैं:
1 2 3 4 5 6 7 | |
प्राप्त करें या बनाएं
get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool]
मानदंडों को पूरा करने वाली पंक्तियों को प्राप्त करने का प्रयास, और यदि कोई Noअपवाद फेंक दिया जाता है, तो दिए गए kwarका उपयोग करके एक नई पंक्ति बनाई जाती है।
!!!टिप क्वेरी दस्तावेज़ में और पढ़ें \ _ या \ _ बनाएं
अपडेट या बनाएं
update_or_create(**kwargs) -> Model
नमूना अपडेट करें, या डेटाबेस में कोई मिलान नहीं होने पर एक नया नमूना बनाएं।
!!!टिप क्वेरी डॉक्यूमेंटेशन अपडेट \ _ या \ _ में और पढ़ें
अद्यतन
update(**kwargs, each:bool = False) -> int
अद्यतन की गई पंक्तियों की संख्या लौटाते हुए, प्रदान किए गए कीवर्ड मापदंडों के साथ संबंधित नमूना अपडेट करें।
!!!टिप क्वेरी दस्तावेज़ अपडेट में और पढ़ें
कृपया ध्यान दें कि फ़ील्ड नाम और फ़ील्ड शब्दकोश वाले मापदंडों को कई-से-कई संबंधपरक अपडेट के लिए भी स्वीकार किया जा सकता है।
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
ऊपर दिए गए उदाहरण में, आप निम्नलिखित कॉल में पोस्टश्रेणी के गुणों को अपडेट कर सकते हैं:
1 2 3 | |
फ़िल्टरिंग और छँटाई
फिल्टर
filter(*args, **kwargs) -> QuerySet
आपको किसी भी नमूना विशेषता/फ़ील्ड द्वारा फ़िल्टर करने और FK संबंधों में फ़िल्टर का उपयोग करके उदाहरण प्राप्त करने की अनुमति देता है।
!!!टिप क्वेरी दस्तावेज़ फ़िल्टर में और पढ़ें
बाहर
exclude(*args, **kwargs) -> QuerySet
यह फ़िल्टर के समान ही काम करता है, और सभी संशोधक (प्रत्यय) समान हैं, लेकिन स्थिति वापस नहीं आती है।
!!!टिप क्वेरी दस्तावेज़ में और पढ़ें
आदेश आधार
order_by(columns:Union[List, str]) -> QuerySet
क्रमबद्ध करना का उपयोग करके \ _ by (), आप अपने द्वारा चुने गए फ़ील्ड द्वारा डेटाबेस में परिणामों को सॉर्ट कर सकते हैं।
!!!टिप क्वेरी दस्तावेज़ में और पढ़ें क्रमबद्ध करना \ _ by
जॉइन और सबक्वेरी
प्रासंगिक का चयन करें
select_related(related: Union[List, str]) -> QuerySet
संबंधित मॉडल को एक ही क्वेरी के दौरान प्रीफ़ेयर करने की अनुमति देता है।
चयन \ _ lated का उपयोग करते समय, डेटाबेस के खिलाफ हमेशा केवल एक क्वेरी चलती है, जो माध्य (sometimes complex) शामिल होने से उत्पन्न होता है और बाद में नेस्टेड मॉडल पायथन में संसाधित होते हैं।
!!!टिप क्वेरी दस्तावेज़ में चयनित \ _ lated के बारे में अधिक पढ़ें
प्रीफेच सहसंबंध
prefetch_related(related: Union[List, str]) -> QuerySet
इसे प्रश्नों के दौरान संबंधित मॉडल को प्रीफ़ेच करने की अनुमति है - लेकिन जैसा कि \ _ lated का चयन करने के लिए विरोध किया गया है, प्रत्येक बाद के नमूना को एक अलग डेटाबेस क्वेरी में प्राप्त किया जाता है।
pre\ _ lated के साथ, प्रत्येक नमूना डेटाबेस के खिलाफ एक क्वेरी चलाता है, जो माध्य आप एक के बाद एक कई प्रश्नों को निष्पादित करेंगे।
!!!टिप क्वेरी दस्तावेज़ pre\ _ lated में और पढ़ें
पृष्ठ और लाइनें
पेजिंग
paginate(page: int, page_size: int = 20) -> QuerySet
पृष्ठ संख्या और आकार के आधार पर ऑफसेट और सीमा विधियों को मिलाता है।
!!!टिप क्वेरी दस्तावेज़ टैब में और पढ़ें
प्रतिबंध
limit(limit_count: int) -> QuerySet
आप परिणामों को मूल मॉडल की आवश्यक संख्या तक सीमित कर सकते हैं।
!!!टिप क्वेरी दस्तावेज़ सीमाओं में और पढ़ें
ऑफसेट
offset(offset: int) -> QuerySet
आप मास्टर मॉडल की आवश्यक संख्या से परिणामों को ऑफसेट कर सकते हैं।
!!!टिप क्वेरी दस्तावेज़ ऑफ़सेट में और पढ़ें
स्तंभों का सबसेट चुनें
क्षेत्र
fields(columns: Union[List, str, set, dict]) -> QuerySet
फ़ील्ड () के साथ, आप डेटा लोड को सीमित करने के लिए नमूना स्तंभों का सबसेट चुन सकते हैं।
!!!टिप क्वेरी दस्तावेज़ फ़ील्ड में और पढ़ें
बहिष्करण क्षेत्र
exclude_fields(columns: Union[List, str, set, dict]) -> QuerySet
सिवाय \ _ फ़ील्ड () के साथ, आप डेटा लोडिंग को प्रतिबंधित करने के लिए नमूना स्तंभों के सबसेट का चयन कर सकते हैं।
!!!टिप \ _ फ़ील्ड को छोड़कर क्वेरी प्रलेखन में अधिक जानें
कुल फ़ंक्शन
गिनती
count(distinct: bool = True) -> int
दिए गए मानदंडों से मेल खाने वाली पंक्तियों की संख्या लौटाता है (यानी फ़िल्टर और बहिष्करण लागू करें)।
!!!टिप क्वेरी दस्तावेज़ गणना में और पढ़ें
मौजूद है
अस्तित्व () -> बूलियन
यह पुष्टि करने के लिए एक बूलियन मान लौटाता है कि क्या पंक्तियाँ हैं जो दिए गए मानदंडों को पूरा करती हैं (फ़िल्टर और बहिष्करण के साथ लागू)।
!!!टिप पढ़ें अधिक क्वेरी दस्तावेज़ मौजूद है