title: Django validation
body: <p>I come from a Ruby on Rails background and I just started this project in Django. </p>
  
  <p>I started messing with models and I just found out that for compatibility issues, Django doesn't full_clean (validate) a model instance before saving. Ok, weird.</p>
  
  <p>The second surprise is the following:</p>
  
  <ul>
  <li>I create a model with a field <code>test</code> of type BooleanField (which default validation, by Django documentation, should be neither blank or null)</li>
  <li>I create a new instance of the above model without setting the field <code>test</code></li>
  <li>I perform a full_clean and it returns <code>None</code>, all seems to be valid. Why?</li>
  <li>I perform a save and it returns <code>IntegrityError: null value in column "test" violates not-null constraint</code>.</li>
  </ul>
  
  <p>Is it me or all this is just counterintuitive? How can I require and validate a field of type BooleanField?</p>
  
  <p>EDIT:
  I don't want to manage form submission since I would like to manage all data flow using django_rest_framework.</p>