Add missing responses import and replace usage of helper.responses with just responses in soc.views.models.student module.
Patch by: Pawel Solyga
Reviewed by: to-be-reviewed
"""31. ValidationThis is an experimental feature!Each model instance has a validate() method that returns a dictionary ofvalidation errors in the instance's fields. This method has a side effectof converting each field to its appropriate Python data type."""from django.db import modelsclass Person(models.Model): is_child = models.BooleanField() name = models.CharField(maxlength=20) birthdate = models.DateField() favorite_moment = models.DateTimeField() email = models.EmailField() def __str__(self): return self.name__test__ = {'API_TESTS':""">>> import datetime>>> valid_params = {... 'is_child': True,... 'name': 'John',... 'birthdate': datetime.date(2000, 5, 3),... 'favorite_moment': datetime.datetime(2002, 4, 3, 13, 23),... 'email': 'john@example.com'... }>>> p = Person(**valid_params)>>> p.validate(){}>>> p = Person(**dict(valid_params, id='23'))>>> p.validate(){}>>> p.id23>>> p = Person(**dict(valid_params, id='foo'))>>> p.validate(){'id': ['This value must be an integer.']}>>> p = Person(**dict(valid_params, id=None))>>> p.validate(){}>>> repr(p.id)'None'>>> p = Person(**dict(valid_params, is_child='t'))>>> p.validate(){}>>> p.is_childTrue>>> p = Person(**dict(valid_params, is_child='f'))>>> p.validate(){}>>> p.is_childFalse>>> p = Person(**dict(valid_params, is_child=True))>>> p.validate(){}>>> p.is_childTrue>>> p = Person(**dict(valid_params, is_child=False))>>> p.validate(){}>>> p.is_childFalse>>> p = Person(**dict(valid_params, is_child='foo'))>>> p.validate(){'is_child': ['This value must be either True or False.']}>>> p = Person(**dict(valid_params, name=u'Jose'))>>> p.validate(){}>>> p.nameu'Jose'>>> p = Person(**dict(valid_params, name=227))>>> p.validate(){}>>> p.name'227'>>> p = Person(**dict(valid_params, birthdate=datetime.date(2000, 5, 3)))>>> p.validate(){}>>> p.birthdatedatetime.date(2000, 5, 3)>>> p = Person(**dict(valid_params, birthdate=datetime.datetime(2000, 5, 3)))>>> p.validate(){}>>> p.birthdatedatetime.date(2000, 5, 3)>>> p = Person(**dict(valid_params, birthdate='2000-05-03'))>>> p.validate(){}>>> p.birthdatedatetime.date(2000, 5, 3)>>> p = Person(**dict(valid_params, birthdate='2000-5-3'))>>> p.validate(){}>>> p.birthdatedatetime.date(2000, 5, 3)>>> p = Person(**dict(valid_params, birthdate='foo'))>>> p.validate(){'birthdate': ['Enter a valid date in YYYY-MM-DD format.']}>>> p = Person(**dict(valid_params, favorite_moment=datetime.datetime(2002, 4, 3, 13, 23)))>>> p.validate(){}>>> p.favorite_momentdatetime.datetime(2002, 4, 3, 13, 23)>>> p = Person(**dict(valid_params, favorite_moment=datetime.datetime(2002, 4, 3)))>>> p.validate(){}>>> p.favorite_momentdatetime.datetime(2002, 4, 3, 0, 0)>>> p = Person(**dict(valid_params, email='john@example.com'))>>> p.validate(){}>>> p.email'john@example.com'>>> p = Person(**dict(valid_params, email=u'john@example.com'))>>> p.validate(){}>>> p.emailu'john@example.com'>>> p = Person(**dict(valid_params, email=22))>>> p.validate(){'email': ['Enter a valid e-mail address.']}# Make sure that Date and DateTime return validation errors and don't raise Python errors.>>> Person(name='John Doe', is_child=True, email='abc@def.com').validate(){'favorite_moment': ['This field is required.'], 'birthdate': ['This field is required.']}"""}