मैं Django मॉडल के किसी विशेष क्षेत्र के लिए अपनी खुद की सत्यापन दिनचर्या को परिभाषित करना चाहता हूं। मैं चाहता हूं कि त्रुटि संदेश व्यवस्थापक रूप में प्रदर्शित किया जाए, लेकिन अगर इकाई को अपने पायथन कोड से सहेजा जाता है तो मैं भी वही सत्यापन करना चाहता हूं। क्या DRY सिद्धांत को तोड़ने के बिना ऐसा करने का कोई तरीका है?मॉडल में और व्यवस्थापक में Django फील्ड सत्यापन?
10
A
उत्तर
8
यदि आप किसी व्यक्तिगत फ़ील्ड को सत्यापित करना चाहते हैं, तो आप write a validator कर सकते हैं और इसे अपने मॉडल फ़ील्ड में जोड़ सकते हैं।
जब भी मॉडल full_clean
विधि कहा जाता है तो सत्यापनकर्ता फ़ील्ड के लिए चलाया जाएगा। जब भी मॉडल फॉर्म मान्य होता है (यह Django व्यवस्थापक सहित) चलाया जाएगा, लेकिन जब मॉडल इंस्टेंस सहेजा जाता है तो यह स्वचालित रूप से नहीं चलाया जाएगा - आपको मैन्युअल रूप से पाइथन कोड में full_clean
पर कॉल करना होगा।
m = MyModel(x=20)
m.full_clean() # may raise ValidationError
m.save()
आप जब भी मॉडल सहेजा जाता है चलाने के लिए सत्यापनकर्ता मजबूर करने के लिए करना चाहता था, तो आप विधि बचाने ओवरराइड और full_clean
वहाँ कह सकते हैं। ध्यान दें कि यह मॉडल रूपों और django व्यवस्थापक का उपयोग करते समय सत्यापन को दो बार चलाने का कारण बनता है।
संबंधित मुद्दे
- 1. Django: व्यवस्थापक सत्यापन त्रुटि
- 2. django व्यवस्थापक में समूह मॉडल
- 3. एक बेहतर Django व्यवस्थापक ManyToMany फील्ड विजेट
- 4. Django मॉडल फ़ील्ड सत्यापन
- 5. Django ManyToMany मॉडल सत्यापन
- 6. django में कस्टम उपयोगकर्ता मॉडल व्यवस्थापक
- 7. Django मॉडल सत्यापन
- 8. Django व्यवस्थापक डिफ़ॉल्ट मॉडल ऑर्डरिंग
- 9. Django व्यवस्थापक, "मॉडल" के बिना अनुभाग? Django प्रशासन कंसोल में
- 10. Django व्यवस्थापक
- 11. Django में फॉर्म इनपुट और मॉडल सत्यापन को अलग करना?
- 12. मेरे Django एप में Django व्यवस्थापक
- 13. Fluent सत्यापन और आईओसी (अद्वितीय फील्ड)
- 14. Django व्यवस्थापक सीएसआरएफ सत्यापन बढ़ाता है
- 15. एक मॉडल फील्ड
- 16. Django मॉडल में ChoiceField
- 17. django व्यवस्थापक
- 18. एक कस्टम फॉर्म के बिना Django मॉडल फ़ील्ड सत्यापन
- 19. django व्यवस्थापक
- 20. Django व्यवस्थापक में, एक इनलाइन
- 21. Django व्यवस्थापक मॉडल में नेस्टेड इनलाइन फॉर्म संभव हैं?
- 22. Django व्यवस्थापक - templatetag में सभी पंजीकृत मॉडल कैसे प्राप्त करें?
- 23. Django व्यवस्थापक 'पृष्ठ/व्यवस्थापक में नहीं मिला/
- 24. Django व्यवस्थापक परिवर्तन बहुवचन मॉडल नाम
- 25. Django व्यवस्थापक
- 26. Django में जेनेरिक ForeignKey और व्यवस्थापक
- 27. Django व्यवस्थापक फ़ाइल वर्तमान मॉडल आईडी
- 28. django व्यवस्थापक मॉडल में एकाधिक फ़ाइल कैसे अपलोड करें
- 29. Django व्यवस्थापक
- 30. मॉडल और फ़ील्ड सत्यापन में क्लीन() विधि