title: null value in column "content_type_id" violates not-null constraint
body: <p>I'm having difficulty in using django's generic relation and forms. I'm using crispyforms to render my the html.</p>
  
  <p>Here's the error that i get. Not sure why it's looking for content_type_id every time i save a record. I tried creating new  a new company record using the admin panel and it works. This error only comes out when I use crispy form</p>
  
  <p><strong><code>null value in column "content_type_id" violates not-null constraint</code></strong></p>
  
  <p>Below is my code.</p>
  
  <p><strong>Forms.py</strong>
  `</p>
  
  <pre><code>        class CompanyFormHelper(FormHelper):
              form_tag = False
              render_required_fields = True
              disable_csrf = True
              render_required_fields = False
              layout = Layout(
                  Fieldset(
                      _('Company'),
                      Div(InlineField('name'), css_class='col-sm-12'),
                      Div(InlineField('email'), css_class='col-sm-12'),
                      Div(InlineField('phone'), css_class='col-xs-6'),
                      Div(InlineField('type'), css_class='col-xs-6'),
                      Div(InlineField('is_partner'), css_class='col-xs-6'),
                      Div(InlineField('is_company'), css_class='col-xs-6'),
                      Row(
                          Formset('company_location_form', 'company_location_form_helper'),
                      ),
                      Submit('submit','Submit'),
                  ),
              )
  
  
          class CompanyForm(ModelFormBase):
  
              def __init__(self,*args,**kwargs):
                  super().__init__(*args,**kwargs)
                  self.helper = CompanyFormHelper()
  
              class Meta:
                  model = Company
                  fields = ('name','email','phone','type','is_partner','is_company')
                  widgets = {}
  
  
          class CompanyLocationFormsHelper(FormHelper):
              form_tag = False
              disable_csrf = True
              layout = Layout(
                  Fieldset(
                      _('Company Address'),
                      Div(InlineField('line_first'), css_class='col-sm-12'),
                      Div(InlineField('line_second'), css_class='col-sm-12'),
                      Div(InlineField('city'), css_class='col-xs-6'),
                      Div(InlineField('province'), css_class='col-xs-6'),
                      Div(InlineField('postal_code'), css_class='col-xs-6'),
                      Div(InlineField('country'), css_class='col-xs-6'),
                  ),
              )
              # template = 'is_portal/core/crispy_form/table_inline_formset.html'
              render_required_fields = True
  
  
  
          class CompanyLocationForm(ModelFormBase):
              def __init__(self, *args, **kwargs):
                  super().__init__(*args, **kwargs)
                  self.helper = CompanyLocationFormsHelper()
  
              class Meta:
                  model = Address
                  fields = ('line_first','line_second','city','province','postal_code','country')
                  widgets = {
                      'line_first': forms.TextInput(attrs={'required':'required'}),
                      'city': forms.TextInput(attrs={'required':'required'}),
                      'country': forms.Select(attrs={'class':'select required'}),
                  }
  
  
          CompanyLocationFormset = generic_inlineformset_factory(
              Company,
              form=CompanyLocationForm,
              can_delete=True,
              fields='__all__',
              extra=1,
              min_num=1,
          )
  </code></pre>
  
  <p>`</p>
  
  <p><strong>Models.py</strong></p>
  
  <p>`</p>
  
  <pre><code>class Company(AbstractHistory):
  
      content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
  
      object_id = models.UUIDField(
          primary_key=False,
          unique=False,
          default=uuid.uuid4,
          blank=True,
          null=True,
          )
  
      content_object = GenericForeignKey("content_type", "object_id")
  
      name = models.CharField(
          _("Name"),
          max_length=255,
          )
  
      address = GenericRelation(
          Address,
          null=True,
          blank=True,
          )
  
      email = models.CharField(
          _("Email"),
          max_length=255,
          blank=True,
          null=True,
          )
  
      phone = models.CharField(
          _("Phone"),
          max_length=255,
          blank=True,
          null=True,
          )
  
      type = models.CharField(
          _("Company Type"),
          max_length=255,
          choices=CHOICES_COMPANY_TYPE,
          default=CHOICES_COMPANY_TYPE.seller
      )
  
      is_partner = models.BooleanField(
          _('Is Partner'),
          default=False,
      )
  
      is_company = models.BooleanField(
          _('Is Company'),
          default=False,
      )
  
      class Meta:
          verbose_name_plural = _('Companies')
  
      def __str__(self):
          return '{}'.format(self.name)
  </code></pre>
  
  <p>`</p>
  
  <p><strong>Views.py</strong></p>
  
  <p>`</p>
  
  <pre><code>class CreateNewCompany(LoginRequiredMixin, CreateView):
  model=Company
  form_class=CompanyForm
  template_name = 'create_company.html'
  success_url = 'success'
  
  
  def dispatch(self, request, *args, **kwargs):
      return super().dispatch(request, *args, **kwargs)
  
  
  def get_context_data(self,**kwargs):
      context = super().get_context_data(**kwargs)
  
      context['company_location_form'] = CompanyLocationForm(prefix='company_location')
      context['company_location_form_helper'] = CompanyLocationFormsHelper
  
      return context
  
  
  def get_success_url(self):
      return reverse('sales_project:summarycreate_step_other_information', kwargs={'slug':'project-20'})
  
  
  def form_valid(self,form):
  
  
      try:
          with transaction.atomic():
              company = form.save()
  
  
  
              #formset = SalesProjectLocationFormset(self.request.POST, self.request.FILES, instance=company, prefix='company_location')
  
              # if formset.is_valid() and formset.has_changed():
              #     formset.save()
  
              # self.company = company
  
      except IntegrityError as e:
          print(e)
          messages.error(self.request, _('Unable to create company, please contact the admin. \r\n Error: {} '.format(e)))
          return redirect('company:create_company')
  
      return super().form_invalid(form(self.request.POST))
  </code></pre>
  
  <p>`</p>