title: disabled field is marked as required after passing null=True
body: <p>I have a form where there is a field like quantity, rate, basic_amount(disabled), vat, other_expenses and net_amount(disabled). The basic_amount field is the calculation from quantity and rate and net_amount is the calculation of basic_amount, other_expenses and vat. For this I used signal for saving to the database when user submits the form. When i submit the form, I get an error saying basic_amount and net_amount is required, though I have passed blank=True, null=True attribute to them. </p>
  
  <p>How can i now save basic_amount and net_amount? </p>
  
  <p>Here is my code </p>
  
  <pre><code>class PurchaseOrder(models.Model):
      item = models.ForeignKey(Item, blank=True, null=True)
      quantity = models.PositiveIntegerField(default=0)
      rate = models.DecimalField(default=0.0, max_digits=100, decimal_places=2)
      basic_amount = models.DecimalField(default=0.0, max_digits=100, decimal_places=2, blank=True, null=True)
      vat = models.CharField(max_length=10, blank=True, null=True)
      other_expenses = models.DecimalField(default=0.0, max_digits=100, decimal_places=2)
      net_amount = models.DecimalField(default=0.0, max_digits=100, decimal_places=2, blank=True, null=True)
  
  def save_basic_amount_and_net_amount(sender, instance, *args, **kwargs):
      if (instance.quantity and instance.rate):
          instance.basic_amount = instance.quantity * instance.rate
      if (instance.basic_amount and instance.vat and instance.other_expenses):
          instance.net_amount = instance.amount - instance.other_expenses - instance.vat
  pre_save.connect(save_basic_amount_and_net_amount, sender=PurchaseOrder)
  
  
  class PurchaseOrderForm(forms.ModelForm):
      basic_amount = forms.DecimalField(disabled=True)
      net_amount = forms.DecimalField(disabled=True)
      class Meta:
          model = PurchaseOrder
          exclude = ('office', 'timestamp', 'updated', )
  
  def purchase_order(request):
      form = PurchaseOrderForm(request.POST or None)
      if request.method == "POST" and form.is_valid():
          office_instance = OfficeSetup.objects.get(owner=request.user)
          new_form = form.save(commit=False)
          new_form.office = office_instance
          new_form.save()
          messages.success(request, 'Thank you')
          return redirect('purchase-order-lists')
      messages.warning(request, "Correct the errors below")
      context = {
          "form": form,
      }
      return render(request, 'dashboard/purchase_order/purchase_order.html', context)
  </code></pre>