2010-03-15 10 views

उत्तर

50

Django 1.1 में करने के लिए एक .values("column1", "column2", ...) के बाद, आप defer('col1', 'col2') उपयोग कर सकते हैं क्वेरी से कॉलम बाहर करने के लिए, या only('col1', 'col2') केवल स्तंभों का एक विशिष्ट सेट प्राप्त करने के लिए। the documentation देखें।

values कुछ अलग करता है - यह केवल आपके द्वारा निर्दिष्ट कॉलम प्राप्त करता है, लेकिन यह मॉडल उदाहरणों के सेट के बजाय शब्दकोशों की एक सूची देता है।

+0

धन्यवाद, दोनों का उपयोग है। – philgo20

+6

@ डैनियल, क्या आप जानते हैं कि प्रलेखन इन विधियों से बचने के लिए क्यों कहता है? यह कहता है कि उन्हें अंतिम उपाय होना चाहिए, और अन्य तरीकों को पहले थका जाना चाहिए। – Furbeenator

+0

अच्छा सवाल ... – rom

17

संलग्न आपकी क्वेरी

+12

एक नोट: यदि आप विशिष्ट वस्तु प्राप्त करने के लिए '.filter()' के बजाय '.get()' का उपयोग करते हैं, और विशिष्ट कॉलम पुनर्प्राप्त करना चाहते हैं, तो आपको सुनिश्चित करना होगा कि '.values ​​(' field1 '। ..) ''get() 'विधि से पहले निर्दिष्ट है। यदि यह बाद में है, तो यह एक त्रुटि उत्पन्न करता है क्योंकि यह ऑब्जेक्ट प्राप्त करता है और फिर 'ऑब्जेक्ट्स 'प्रॉपर्टी के बजाय' मॉडल उदाहरण 'पर' .values ​​() 'विधि को चलाने का प्रयास करता है। – Furbeenator

संबंधित मुद्दे