मैं कैसे Django में ठीक से निम्नलिखित स्थिति से निपटने के यह पता लगाने की प्रतीत नहीं कर सकते हैं:Django में एक फॉर्म फ़ील्ड के रूप में दो मॉडल फ़ील्ड का प्रतिनिधित्व कैसे करें?
मैं एक मॉडल में एक तिथि सीमा है, जो मैं दो अलग-अलग क्षेत्रों, date_start
और date_end
के रूप में संग्रहीत है:
start_date = models.DateTimeField()
end_date = models.DateTimeField()
इस मॉडल के लिए रूप में, मैं एक लेबल के साथ एक क्षेत्र के रूप में इस का प्रतिनिधित्व करना चाहते हैं:
timespan = forms.Field(widget=widgets.SelectDateRangeWidget(), label="Date Range")
यह अब के रूप में, मैं ext समाप्त हो गया MultiWidget SelectDateRangeWidget
बनाने के लिए:
class SelectDateRangeWidget(forms.MultiWidget):
...
कौन सा फिर दो Date
विगेट्स को शामिल किया गया। मैं इसका उपयोग करना चाहता हूं, लेकिन फिर इसे दो अलग-अलग मॉडल फ़ील्ड में साफ़ कर दूं, और फॉर्म फ़ील्ड में प्रारंभिक डेटा लोड करने की क्षमता को भी सुरक्षित रखूंगा। initial
मैन्युअल रूप से उन दो फ़ील्ड के मान पर सेट करने का एकमात्र तरीका है, शायद __init__
फ़ॉर्म के फ़ंक्शन में, और इसे मैन्युअल रूप से उन दो मॉडल फ़ील्ड में साफ़ करें, या वहां एक क्लीनर (बोलने के लिए) तरीका है यह करो?
मुझे नहीं पता कि समस्या क्या है: अपनी दो तिथियां निकालें, और उन्हें मॉडल में स्टोर करें। – Marcin
@marcin: मैं दो मॉडल फ़ील्ड के मान में 'प्रारंभिक' मान कैसे सेट करूं जो इस तरह से समझ में आता है और फॉर्म के __init__ फ़ंक्शन को हैक नहीं करता है? क्या मैं बस कुछ स्पष्ट याद कर रहा हूँ? –
प्रत्येक फ़ील्ड में 'प्रारंभिक' पैरामीटर सेट करने में क्या गड़बड़ है? – Marcin