अनुरोध
आप Fअनुरोध बॉडी मापदंडों में dके बजाय marmar नमूना नमूना के बजाय marmar का उपयोग कर सकते हैं।
आप ormar भी मिला सकते हैं। यदि आवश्यक हो तो pydके साथ मॉडल।
एक अनुरोध में सबसे आम कार्यों में से एक कुछ क्षेत्रों को बाहर करना है जिन्हें आप एपीआई को भेजे गए पेलोड में शामिल नहीं करना चाहते हैं।
यह मार में विभिन्न तरीकों से प्राप्त किया जा सकता है, इसलिए आप नीचे दिए गए अपने विकल्पों की समीक्षा कर सकते हैं और वह चुन सकते हैं जो आपकी स्थिति के लिए सबसे अच्छा है।
अनुरोधों से फ़ील्ड को छोड़ें
वैकल्पिक क्षेत्र
कृपया ध्यान दें कि प्रत्येक वैकल्पिक फ़ील्ड की आवश्यकता नहीं है, जो माध्य कि वैकल्पिक फ़ील्ड को प्रतिक्रियाओं और अनुरोधों दोनों में छोड़ दिया जा सकता है।
निम्नलिखित में से यदि (any/many/all) होता है तो फ़ील्ड की आवश्यकता नहीं होती है:
- फ़ील्ड को अशक्त = सत्य के रूप में चिह्नित किया गया है
- फ़ील्ड में एक डिफ़ॉल्ट मान या प्रदान की गई कार्यक्षमता है, अर्थात् डिफ़ॉल्ट = "परीक्षण"
- फ़ील्ड सर्वर \ _ डिफ़ॉल्ट मान सेट करता है
- फ़ील्ड एक autoincrement=Trueprimary है \ _ कुंजी फ़ील्ड (नोट ormar. ger\ _ कुंजी डिफ़ॉल्ट ऑटोइन्क्रिमेंट है)
उदाहरण:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
ऊपर दिए गए उदाहरण में, फ़ील्ड आईडी (जो एक ऑटो-इन्क्रीमेंटिंग पूर्णांक है), पहला \ _ नाम (जिसमें अशक्त = सत्य है), और श्रेणी (जिसमें डिफ़ॉल्ट मान है) वैकल्पिक हैं, प्रतिक्रिया में छोड़ दिया जा सकता है, और नमूना अभी भी मान्य किया जाएगा।
यदि फ़ील्ड अशक्त है, तो इसे निर्माण के दौरान और प्रतिक्रिया में पेलोड में शामिल नहीं किया जाना है, इसलिए ऊपर दिए गए उदाहरण के अनुसार, आप कर सकते हैं:
!!! चेतावनी ध्यान दें कि जब आपको वैकल्पिक फ़ील्ड पास नहीं करना है, तब भी आप ऐसा कर सकते हैं। यदि कोई मान पास करता है, तो इसका उपयोग बाद में किया जाएगा, जब तक कि आप इसे रोकने के लिए कदम नहीं उठाते।
1 2 3 4 | |
यह माध्य है कि यदि आप अनुरोध में पहले \ _ नाम पास नहीं करते हैं, तो यह सही ढंग से मान्य होगा (क्योंकि फ़ील्ड वैकल्पिक है) और डेटाबेस में कोई भी सहेजा नहीं जाएगा।
ओमार से पाइडेंटिक मॉडल बनाना। मॉडल
चूंकि फ़ील्ड को बाहर करने का कार्य बहुत आम है, इसलिए मौजूदा ormar से dमॉडल उत्पन्न करने का एक विशेष तरीका है। सभी फ़ील्ड में फिर से प्रवेश किए बिना मॉडल।
यह विधि सभी नमूना वर्गों के लिए उपलब्ध \ _ pyd() विधि है।
1 2 3 4 5 6 | |
!!! नोट अधिक उदाहरण देखने और अधिक पढ़ने के लिए, प्रलेखन के \ _ pydअनुभाग पर जाएं।
चेतावनी प्राप्त करें \ _ pydantic विधि एक एल्गोरिथ्म के आधार पर नेस्टेड नमूना ट्री में सभी मॉडल उत्पन्न करती है जो नमूना में छोरों से बचने की अनुमति देती है (एक ही एल्गोरिथ्म जिसका उपयोग नमूना \ _ डंप में किया जाता है (), select\ _all (), आदि)
1 2 3 | |
इस तरह आप पेड़ के विभिन्न पत्तों पर विभिन्न क्षेत्रों को बाहर / शामिल कर सकते हैं।
Py और टाइप चेकिंग
कृपया ध्यान दें कि पायथन प्रकार के रूप में एक फ़ंक्शन असाइन करना रनटाइम पर गुजरता है (क्योंकि यह चेक नहीं किया गया है), और स्थैतिक प्रकार के चेकर्स जैसे Py शिकायत करते हैं।
यद्यपि फ़ंक्शन कॉल का परिणाम किसी दिए गए नमूना के लिए हमेशा समान होता है, गतिशील रूप से बनाए गए प्रकारों की अनुमति नहीं है।
तो आपके पास दो विकल्प हैं:
पहला बस # प्रकार जोड़ना है: प्रकार की जाँच को छोड़ने के लिए अनदेखा करें
1 2 3 4 5 | |
फ़ंक्शन मापदंडों को निकालने के लिए Fका उपयोग करके दूसरा थोड़ा अधिक हैक है।
आप दिए गए पैरामीटर के \ _ \ को ओवरराइड कर सकते हैं।_एनोटेशन _\ _ प्रविष्टि।
1 2 3 4 5 6 7 8 | |
ध्यान दें कि यह खस्ता को "सोचने" का कारण बनेगा कि उपयोगकर्ता एक ormar नमूना है, लेकिन चूंकि यह अनुरोध में कोई फर्क नहीं पड़ता है (आप वैसे भी एक jsonपास करेंगे और बचत से पहले परिवर्तित करने की आवश्यकता होगी)।
यह अभी भी ठीक काम करना चाहिए क्योंकि परिणामी नमूना खेतों का एक सबसेट होगा, इसलिए सभी आवश्यक फ़ील्ड मान्य होंगे, और सभी अप्रयुक्त फ़ील्ड रनटाइम पर विफल हो जाएंगे।
स्वतंत्र ब्रैकट नमूना
अंतिम समाधान मैन्युअल रूप से अलग dमॉडल बनाना है। यह बिल्कुल एक सामान्य Fएप्लिकेशन की तरह काम करता है, इसलिए आप विभिन्न प्रतिक्रिया और अनुरोध मॉडल आदि का उपयोग कर सकते हैं।
नमूना:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |