title: OneToOneField with null=True doesn't allow empty field
body: <p>I've got these two classes: </p>
  
  <pre><code>class Bill(models.Model):
    date = models.DateField()
    total_amount_chf = models.DecimalField('Cost (in CHF)', max_digits=10, decimal_places=2)
  
  class ProjectParticipation(models.Model):
    project = models.ForeignKey('Project')
    user = models.ForeignKey(User)
    is_admin = models.BooleanField()
    bill = models.OneToOneField(Bill, on_delete=models.SET_NULL, null=True, blank=True)
  </code></pre>
  
  <p>When I'm now constructing the SQL-database I get the following field in the table for the ProjectParticipation:</p>
  
  <pre><code> bill_id integer NOT NULL,
   CONSTRAINT expenses_projectparticipation_bill_id_fkey FOREIGN KEY (bill_id)
    REFERENCES expenses_bill (id) MATCH SIMPLE
    ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,
  </code></pre>
  
  <p>And now when I want to insert a ProjectParticipation without Bill I get a "null value in column "bill_id" violates not-null constraint".</p>
  
  <p>What to do against it?</p>