2012-07-05 12 views
38

मैं Django का उपयोग कर अभ्यास करने के लिए एक टू-डू-सूची वेबसाइट को लागू करने की कोशिश कर रहा हूं। Models.py में, मेरे पास एक टू-डू आइटम का प्रतिनिधित्व करने के लिए Item नामक एक कक्षा है। इसे में, मैं निम्नलिखित पंक्ति है:Django की डेटटाइमफ़िल्ल्ड वैकल्पिक कैसे बनाएं?

due_date = models.DateTimeField(required=False) 

DUE_DATE एक वैकल्पिक फ़ील्ड मामले में उपयोगकर्ता कुछ आइटम टू-डू के लिए एक समय सीमा है करने के लिए है। समस्या यह है कि उपर्युक्त पंक्ति मुझे अप्रत्याशित कीवर्ड तर्क 'आवश्यक' के कारण टाइपएरर देती है।

तो, ऐसा लगता है कि मैं डेटटाइमफ़िल्ल्ड के लिए कीवर्ड तर्क 'आवश्यक' का उपयोग नहीं कर सकता। क्या कोई तरीका है कि मैं डेटटाइमफ़िल्ल्ड वैकल्पिक बना सकता हूं? या क्या मेरी समस्या के लिए मानक कार्यान्वयन है?

+4

'आवश्यक' केवल * फॉर्म * फ़ील्ड के लिए है। मॉडल फ़ील्ड 'रिक्त = ट्रू' का उपयोग करते हैं, जिसे डेटाबेस में कॉलम के लिए एक नल मान को संग्रहीत करने के लिए 'डेटटाइमफ़िल्ल्ड' के लिए 'null = True' के साथ जोड़ा जाना चाहिए। अन्यथा, आपको 'इंटीग्रिटी एरर' मिलेगा। –

उत्तर

63

"आवश्यक" Django रूपों के लिए एक वैध तर्क है। मॉडल के लिए, आप चाहते हैं कि कीवर्ड blank=True (व्यवस्थापक के लिए) और null=True (डेटाबेस के लिए) तर्क देता है।

+1

आह, तो मुझे फॉर्म और मॉडल मिश्रित हो गए। उफ़। –

+1

'आवश्यक', 'खाली', और' शून्य 'के बीच अंतर को समझाने के लिए धन्यवाद। – aero

+0

IIRC 'blank = True, null = True' को टेक्स्ट फ़ील्ड्स के लिए अनुशंसित नहीं किया जाता है क्योंकि तब आपके पास दो" नल "हो सकते हैं:' '' 'और 'NULL', लेकिन क्या यह दिनांक-टाइप फ़ील्ड के लिए लागू नहीं होता है? –

21

उपयोग due_date = models.DateTimeField(null=True, blank=True)

अधिक जानकारी के लिए चेक Field Options

+0

क्या हमें भी 'आवश्यक = गलत' जोड़ने की ज़रूरत है, या ये दोनों पर्याप्त हैं? अगर हम इसे जोड़ते हैं या नहीं तो कोई अंतर? – jeff

+1

@halilpazarlama आपको अपने मॉडल फ़ील्ड में 'आवश्यक = गलत' की आवश्यकता नहीं है और मैं मॉडल फ़ील्ड परिभाषा में वैध कीवर्ड तर्क भी नहीं है। 'आवश्यक = *' का उपयोग फॉर्म फ़ील्ड्स में किया जा सकता है और फिर भी आपको इसकी आवश्यकता नहीं होगी यदि आपके मॉडल फ़ील्ड परिभाषा में पहले से ही 'blank = True' है। – machaku

+0

ओह। मुझे अन्य उत्तरों को और अधिक अच्छी तरह से पढ़ना चाहिए था। धन्यवाद हालांकि :) – jeff

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