विषय पर बढ़ें

पेजिंग और लाइन काउंट

निम्नलिखित विधियाँ आपको क्वेरी में पंक्तियों की संख्या को पृष्ठ और सीमित करने की अनुमति देती हैं।

  • paginate(page: int) -> QuerySet

  • limit(limit_count: int) -> QuerySet

  • offset(offset: int) -> QuerySet

  • गेट () -> मॉडल

  • पहला () -> नमूना

  • क्वेरी सेट एजेंट

    • QuerysetProxy.paginate(page: int) विधि
    • QuerysetProxy.limit(limit_count: int) विधि
    • QuerysetProxy.offset(offset: int) विधि

पेजिंग

paginate(page: int, page_size: int = 20) -> QuerySet

पृष्ठ संख्या और आकार के आधार पर ऑफसेट और सीमा विधियों को जोड़ती है

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
क्लास ट्रैक (ormar. Model):
    ormar_config = ormar। marConfig (
        डेटाबेस = डेटाबेस। डेटाबेस (DATABASE_URL),
        मेटाडेटा = वर्गधर्मी। मेटाडेटा (),
        टेबलनाम = "ट्रैक"
    )

    आईडी: int = ormar। पूर्णांक (primary_key = True)
    एल्बम: वैकल्पिक [एल्बम] = ormar। विदेशी (एल्बम)
    नाम: str = ormar। स्ट्रिंग (max_length = 100)
    स्थिति: int = ormar। पूर्णांक ()


ट्रैक = Tr.का इंतजार करें (3).all ()
# पंक्ति 41 से शुरू होने वाले 20 ट्रैक लौटाएगा
# (20 के डिफ़ॉल्ट पृष्ठ आकार के साथ)

कृपया ध्यान दें कि पेजिनेट (2) ऑफसेट के बराबर है (20).सीमा (20).

प्रतिबंध

limit(limit_count: int, limit_raw_sql: bool = None) -> QuerySet

आप परिणामों को मूल मॉडल की आवश्यक संख्या तक सीमित कर सकते हैं।

मास्टर नमूना के बजाय डेटाबेस क्वेरी पंक्तियों की वास्तविक संख्या को सीमित करने के लिए, सीमा \ _ कच्चे \ _ sql पैरामीटर ध्वज का उपयोग करें और इसे पर सेट करें।

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
क्लास ट्रैक (ormar. Model):
    Ormar। MarConfig (
        डेटाबेस = डेटाबेस। डेटाबेस (DATABASE_URL),
        मेटाडेटा = वर्गधर्मी। मेटाडेटा (),
        टेबलनाम = "ट्रैक"
    )

    आईडी: int = ormar। पूर्णांक (primary_key = True)
    एल्बम: वैकल्पिक [एल्बम] = ormar। विदेशी (एल्बम)
    नाम: str = ormar। स्ट्रिंग (max_length = 100)
    स्थिति: int = ormar। पूर्णांक ()


ट्रैक्स = ट्रैक.ऑब्जेक्ट्स.लिमिट का इंतजार करें (1).all ()
# सिर्फ एक ट्रैक लौटाएगा

!!!ध्यान दें कि सभी विधियां जो पंक्तियों को वापस नहीं करती हैं, स्पष्ट रूप से एक Queryउदाहरण लौटाती हैं ताकि आप उन्हें एक साथ लिंक कर सकें

1
2
3
तो संचालन पसंद है `filter()`, `select_related()`, `limit()` और `offset()` आदि का पीछा किया जा सकता है।

कुछ ऐसा `Track.object.select_related("album").filter(album__name="Malibu").offset(1).limit(1).all()`

ऑफसेट

offset(offset: int, limit_raw_sql: bool = None) -> QuerySet

आप मास्टर मॉडल की आवश्यक संख्या से परिणामों को ऑफसेट भी कर सकते हैं।

मास्टर नमूना से डेटाबेस क्वेरी पंक्तियों की वास्तविक संख्या को ऑफसेट करने के लिए, सीमा \ _ कच्चे \ _ sql पैरामीटर ध्वज का उपयोग करें और इसे पर सेट करें।

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
क्लास ट्रैक (ormar. Model):
    Ormar। MarConfig (
        डेटाबेस = डेटाबेस। डेटाबेस (DATABASE_URL),
        मेटाडेटा = वर्गधर्मी। मेटाडेटा (),
        टेबलनाम = "ट्रैक"
    )

    आईडी: int = ormar। पूर्णांक (primary_key = True)
    एल्बम: वैकल्पिक [एल्बम] = ormar। विदेशी (एल्बम)
    नाम: str = ormar। स्ट्रिंग (max_length = 100)
    स्थिति: int = ormar। पूर्णांक ()


ट्रैक = Tr.का इंतजार करें (1).limit (1).सभी ()
# सिर्फ एक ट्रैक लौटाएगा, लेकिन इस बार दूसरा

!!!ध्यान दें कि सभी विधियां जो पंक्तियों को वापस नहीं करती हैं, स्पष्ट रूप से एक Queryउदाहरण लौटाती हैं ताकि आप उन्हें एक साथ लिंक कर सकें

1
2
3
इसलिए `filter()`,`select_related()`,`limit()` और `offset()` आदि जैसे ऑपरेशनों को जंजीर दी जा सकती है।

कुछ ऐसा `Track.object.select_related("album").filter(album__name="Malibu").offset(1).limit(1).all()`

प्राप्त करें

प्राप्त करें (**Kwargs) -> मॉडल

डेटाबेस से पहली पंक्ति प्राप्त करता है जो kwarसेट स्थितियों को संतुष्ट करता है।

यदि कोई सेट शर्तें नहीं हैं, तो यह db में pk द्वारा क्रमबद्ध अंतिम पंक्ति को वापस कर देगा। (फ़िल्टरिंग / को छोड़कर शर्तों को सेट करने के लिए उपयोग नहीं किया जा सकता है)।

!!!टिप प्राप्त करने के बारे में अधिक जानने के लिए, पढ़ें / प्राप्त करें

पहले

पहला () -> नमूना

डेटाबेस से प्राथमिक कुंजी कॉलम द्वारा आरोही क्रमबद्ध करना में क्रमबद्ध पहली पंक्ति हो जाती है।

!!!पहली यात्रा के बारे में अधिक जानने के लिए, कृपया पहले पढ़ें /

QueryProविधि

प्रासंगिक MToफ़ील्ड और seसीधे एक्सेस करते समय, संबंधित मॉडल की एक सूची वापस आ जाती है।

लेकिन यह क्वेरीसेट एपीआई के एक सबसेट को भी उजागर करता है, इसलिए आप मूल नमूना से सीधे संबंधित मॉडल को फ़िल्टर कर सकते हैं, बना सकते हैं, चुन सकते हैं।

पेजिंग

पेजिंग फ़ंक्शन बिल्कुल ऊपर के समान है, लेकिन आपको रिश्ते के दूसरे छोर से संबंधित वस्तुओं को पेज करने की अनुमति देता है।

!!!QueryProके बारे में अधिक जानने के लिए, QueryProअनुभाग पर जाएं

प्रतिबंध

ऊपर सीमा फ़ंक्शन के समान है, लेकिन आपको रिश्ते के दूसरी तरफ से संबंधित वस्तुओं को पृष्ठ करने की अनुमति देता है।

!!!QueryProके बारे में अधिक जानने के लिए, QueryProअनुभाग पर जाएं

ऑफसेट

ऑफसेट फ़ंक्शन ऊपर दिए गए एक के समान है, लेकिन आपको रिश्ते के दूसरी तरफ से संबंधित वस्तुओं को पृष्ठ करने की अनुमति देता है।

!!!QueryProके बारे में अधिक जानने के लिए, QueryProअनुभाग पर जाएं