title: Django get_initial not working
body: <p>Django get_initial is not populating product field in the form. I am expecting a drop down, with the queryset results as defined in the get_initial overridden function.</p>
  
  <pre><code>class PurchaseRequestDetailForm(forms.ModelForm):
      class Meta:
          model = PurchaseRequestDetail
          fields = ["product", "variations", "quantity", "fulfilled", "vat", "discount", "surcharges", "active"]
          exclude = ("purchase_request", )
  
  
  class PurchaseRequestDetailCreateView(CreateView):
      model = PurchaseRequestDetail
      form_class = PurchaseRequestDetailForm
      template_name = "inventory/purchaserequestdetail_form.html"
  
      def get_pr_obj(self):
          pr_id = self.request.session["pr_id"]
          return PurchaseRequest.objects.get(id=pr_id)
  
      def get_initial(self):
          initial = super(PurchaseRequestDetailCreateView, self).get_initial()
          try:
              pr_obj = self.get_pr_obj()
              initial["product"] = pr_obj.vendor.vendors_products.all()
          except KeyError:
              pass
          self.form_class(initial)
          return initial
  </code></pre>
  
  <p>template: </p>
  
  <pre><code>&lt;td&gt;{{ form.product|css_class:"form-control" }}&lt;/td&gt;
  </code></pre>