title: Django model validation does not occur in the shell
body: <p>I have an ostensibly simple problem. Here is my models.py:</p>
  
  <pre><code>from django.db import models
  
  class Email(models.Model):
      def __unicode__(self):
         return self.email
      email = models.EmailField()
  </code></pre>
  
  <p>EmailField, <a href="https://docs.djangoproject.com/en/dev/ref/models/fields/#emailfield" rel="nofollow">according to the docs</a>, should check if the entered email address is valid. So then why does my shell allow me to save malformed emails? In the shell:</p>
  
  <pre><code>&gt;&gt;&gt; from emailapp.models import Email
  &gt;&gt;&gt; e = Email(email="sdf")
  &gt;&gt;&gt; e
  &lt;Email: sdf&gt;
  &gt;&gt;&gt; e.save()
  &gt;&gt;&gt; Email.objects.all()
  [&lt;Email: sdf@sdf.com&gt;, &lt;Email: sadcljhn@aef.ce&gt;, &lt;Email: sdf&gt;]
  </code></pre>
  
  <p>The admin interface doesn't allow me to save these malformed emails, but the shell does.Why is this?</p>