कस्टम सत्यापन अब द्वारा किया जाना चाहिए clean()
को लागू करना एक मॉडल पर विधि
।
class Essay(Document):
status = StringField(choices=('Published', 'Draft'), required=True)
pub_date = DateTimeField()
def clean(self):
"""
Ensures that only published essays have a `pub_date` and
automatically sets the pub_date if published and not set.
"""
if self.status == 'Draft' and self.pub_date is not None:
msg = 'Draft entries should not have a publication date.'
raise ValidationError(msg)
# Set the pub_date for published items if not set.
if self.status == 'Published' and self.pub_date is None:
self.pub_date = datetime.now()
संपादित करें: उस ने कहा, आपको clean()
. का उपयोग करते हुए सावधान रहना होगा जैसा कि इसे validate()
. से कहा जाता है आपकी मॉडल परिभाषा में निर्धारित नियमों के आधार पर मॉडल को मान्य करने से पहले।