title: Null value in column "user_id" violates not-null constraint in Django 1.9
body: <p>I have exhausted all avenues in trying to put together a solution for this, but my current knowledge of Python and Django can only get me so far.</p>
  
  <p>I'm creating a basic ticketing system and CreateView used to work until I created a Profile model and then separated the Ticket model into its own app.  There were already a couple of tickets created when I refactored my code which is why I know ListView works, DeleteView works as well as DetailView.  CreateView works until I hit the save button.</p>
  
  <p>My views and models are below; I hope someone can please help me sort this out.</p>
  
  <p>Ticket Model</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import User
  ....
  from qcapp.models import Profile
  
  
  class Ticket(models.Model):
      # Relations
      user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name="tickets", verbose_name="user")
      # Attributes
      title = models.CharField(max_length=250, verbose_name="Title", help_text="Enter a Ticket Title")
      color = models.CharField(max_length=7,
                               default="#ffffff",
                               validators=[RegexValidator("(^#[0-9a-fA-F]{3}$)|(^#[0-9a-fA-F]{6}$)")],
                               verbose_name="Color",
                               help_text="Enter the hex color code, like #ccc or #cccccc")
      description = models.TextField(max_length=1000)
      created_date = models.DateTimeField(default=timezone.now, verbose_name='Created Date')
      created_by = models.ForeignKey(User, related_name='created_by_user')
      # Attributes
      # Object Manager
      objects = managers.ProjectManager()
  
      # Meta and String
      class Meta:
          verbose_name = "Ticket"
          verbose_name_plural = "Tickets"
          ordering = ("user", "title")
          unique_together = ("user", "title")
  
      def __str__(self):
          return "%s - %s" % (self.user, self.title)
  
      def get_absolute_url(self):
          return reverse('ticket_detail', args=[str(self.id)])
  </code></pre>
  
  <p>Ticket View (CreateView Only)</p>
  
  <pre><code># -*- coding: utf-8 -*-
  ...
  from django.views.generic import CreateView, UpdateView, DeleteView
  ...
  from .models import Ticket
  
  
  ...
  
  class TicketCreate(CreateView):
      model = Ticket
      template_name = "tickets/ticket_form.html"
      fields = ['title', 'description']
  
      def form_valid(self, form):
          form.instance.created_by = self.request.user
          return super(TicketCreate, self).form_valid(form)
  
  ...
  </code></pre>
  
  <p>Profile Model(Imported Into Ticket Model)</p>
  
  <pre><code>from django.db import models
  from django.conf import settings
  from django.contrib.auth.models import User
  from django.dispatch import receiver
  from django.db.models.signals import post_save
  from . import managers
  
  
  class Profile(models.Model):
      # Relations
      user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="profile", verbose_name="user")
      # Attributes
      interaction = models.PositiveIntegerField(default=0, verbose_name="interaction")
      # Attributes
      # Object Manager
      objects = managers.ProfileManager()
  
      # Custom Properties
      @property
      def username(self):
          return self.user.username
  
      # Methods
  
      # Meta and String
      class Meta:
          verbose_name = "Profile"
          verbose_name_plural = "Profiles"
          ordering = ("user",)
  
      def __str__(self):
          return self.user.username
  
  
  @receiver(post_save, sender=settings.AUTH_USER_MODEL)
  def create_profile_for_new_user(sender, created, instance, **kwargs):
      if created:
          profile = Profile(user=instance)
          profile.save()
  </code></pre>