डेटाबेस में डेटा अपडेट करें
निम्नलिखित विधियां और कार्य आपको डेटाबेस में मौजूदा डेटा को अपडेट करने की अनुमति देते हैं।
-
update(each: bool = False, **kwargs) -> int -
update_or_create(**kwargs) -> Model -
bulk_update(objects: List[Model], columns: List[str] = None) -> None -
नमूना
- मॉडल.अपडेट () विधि
- मॉडल.upsert () विधि
- Model.save \ _ lated () विधि
-
क्वेरी सेट एजेंट
-
QuerysetProxy.update_or_create(**kwargs)विधि
अद्यतन
update(each: bool = False, **kwargs) -> int
Queryस्तर अपडेट का उपयोग एक ही बार में एक ही मान के साथ कई रिकॉर्ड अपडेट करने के लिए किया जाता है।
आपको या तो पहले Queryफ़िल्टर करना होगा या पूरी तालिका को अपडेट करने के लिए प्रत्येक = ट्रू फ्लैग प्रदान करना होगा।
यदि आप यह ध्वज या फ़िल्टर प्रदान नहीं करते हैं, तो QueryDefinitionError उठाया जाता है।
पंक्तियों की अद्यतन संख्या लौटाता है।
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
!!!चेतावनी, आकस्मिक ओवरराइटिंग को रोकने के लिए अपडेट करने से पहले क्वेरी सेट को फ़िल्टर करने की आवश्यकता है।
1 | |
अपडेट या बनाएं
update_or_create(**kwargs) -> Model
नमूना अपडेट करें, या डेटाबेस में कोई मिलान नहीं होने पर एक नया नमूना बनाएं।
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
ध्यान दें कि यदि आप एक नई वस्तु बनाना चाहते हैं, तो आपको या तो pk कॉलम मान पास करना होगा, या pk कॉलम को ऑटो-इन्क्रीमेंट पर सेट किया जाना चाहिए
बैच अपडेट
bulk_update(objects: List["Model"], columns: List[str] = None) -> None
कई उदाहरणों को एक साथ अपडेट करने की अनुमति देता है।
सभी पारित मॉडल को प्राथमिक कुंजी स्तंभों के साथ आबाद करने की आवश्यकता है।
आप स्ट्रिंग नामों की सूची के रूप में कॉलम सूची पास करके अपडेट करने के लिए फ़ील्ड का चयन भी कर सकते हैं।
1 2 3 4 5 6 7 8 9 10 11 | |
नमूना विधि
प्रत्येक नमूना उदाहरण में स्वयं को सहेजने, अपडेट करने या लोड करने के तरीकों का एक सेट होता है।
अद्यतन
आप किसी नमूना को उसके गुणों (fields) को अपडेट करके और अपडेट () विधि को कॉल करके अपडेट कर सकते हैं।
यदि आप प्राथमिक कुंजी सेट किए बिना नमूना अपडेट करने का प्रयास करते हैं, ModelPersistenceError अपवाद फेंक दिया जाता है।
!!!टिप मॉडल-अपडेट में अपडेट () विधि के बारे में अधिक पढ़ें
अपडेट डालें
यह नमूना के सहेजें () या अद्यतन (**kwargs) विधियों के लिए एक प्रॉक्सी है। यदि pk सेट है, तो अद्यतन () विधि कहा जाता है।
!!!टिप मॉडल-अपसर्ट में upsert () विधि के बारे में अधिक पढ़ें
संबंधित सहेजें
विधि नमूना के सभी संबंधों पर पुनरावृत्ति करती है जिसे विधि कहा जाता है और प्रत्येक असहेजे गए नमूना पर upsert () विधि को कॉल करता है।
!!!टिप मॉडल-सेव-लेटेड में सेव \ _ लेटेड () विधि के बारे में अधिक पढ़ें
QueryProविधि
प्रासंगिक MToफ़ील्ड और seसीधे एक्सेस करते समय, संबंधित मॉडल की एक सूची वापस आ जाती है।
लेकिन यह क्वेरीसेट एपीआई के एक सबसेट को भी उजागर करता है, इसलिए आप मूल नमूना से सीधे संबंधित मॉडल को फ़िल्टर कर सकते हैं, बना सकते हैं, चुन सकते हैं।
अपडेट या बनाएं
अपडेट \ _ या \ _ फ़ंक्शन बिल्कुल ऊपर के समान है, लेकिन आपको रिश्ते के दूसरे छोर से संबंधित ऑब्जेक्ट अपडेट करने या बनाने की अनुमति देता है।
!!!QueryProके बारे में अधिक जानने के लिए, QueryProअनुभाग पर जाएं