forms - change data before saving and change it after selecting to origin value in Django -


मेरे पास Django में एक वर्ग है:

  वर्ग admin_new (CreateView): form_class = UserForm उदाहरण के लिए जब उपयोगकर्ता पोस्ट डेटा: " 2009-10 परीक्षण ", मैं टेम्पलेट_नाम = 'उपयोगकर्ता / नया.html' success_url = reverse_lazy ('users_index')  

इसे बदलना और इसे डीबी में सहेजना चाहते हैं: " 10-2009 परीक्षण "।

और जब उपयोगकर्ता इसे संपादित करना चाहता है, तो मुझे सहेजे गए डेटा को फिर से बदलने की आवश्यकता है, इसका मतलब है कि उसे परिवर्तित करना चाहिए

उदाहरण:

उपयोगकर्ता प्रविष्टि: 2009-10 परीक्षण

में सहेजें डीबी: 10-2009 परीक्षण

दृश्य संपादित करें: 2009-10 परीक्षण

डीबी में सहेजें: 10-2009 परीक्षण

आपकी सलाह के लिए धन्यवाद।

डेटा सहेजने के लिए आप अपने प्रपत्र में एक कस्टम को परिभाषित कर सकते हैं, जैसे:

 < कोड> वर्ग UserForm (ModelForm): कक्षा मेटा: मॉडल = यूआरएफ़ def_name (स्वयं): import re return re.sub ( R '^ (\ d {4}) - (\ d {2}) (। *) $', R '\ 2- \ 1 \ 3', self.cleaned_data ['name'])  < / पूर्व> 

अपने अपडेट वीव में आपके फ़ॉर्म के मूल्यों को पॉप्युलेट करने के लिए आप ओवरराइड कर सकते हैं:

  def get_initial (स्वयं): आयात पुनः प्रारंभिक = सुपर (admin_edit, self) .get_initial ( ) P = get_object_or_404 (स्वयं। मॉडल, ** self.kwargs) initial.setdefault ('name', re.sub (r '^ (\ d {4}) - (\ d {2}) (। *) $  

उम्मीद है कि मदद करता है।


Comments

Popular posts from this blog

ios - How do I use CFArrayRef in Swift? -

eclipse plugin - Run java code error: Workspace is closed -

c - Error on building source code in VC 6 -