title: How to use a CreateView and include fields in form for new ForeignKey model?
body: <p>By default CreateView/UpdateView just includes a dropdown for selecting an already existing ForeignKey-related object.</p>
  
  <p>Using django-crispy-forms, how do I have a CreateView or UpdateView that not only includes fields for my model, but fields for creating a new model related via ForeignKey?</p>
  
  <p>Would I be better off using CreateView/UpdateView and using a regular FBV?  If so, how would I go about that?</p>
  
  <p>I didn't have much problem getting up to speed on learning much of Django, but wrapping my mind around how views/forms/models interact is not coming easily.</p>
  
  <pre><code>class Property(models.Model):
      name = models.CharField(max_length=128)
      address = models.ForeignKey(PostalAddress, blank=True, null=True)
  
  class PostalAddress(models.Model):
      street_address = models.CharField(max_length=500)
      city = models.CharField(max_length=500)
      state = USStateField()
      zip_code = models.CharField(max_length=10)
  
  class PropertyUpdateView(UpdateView):
      model = Property
  
  class PropertyCreateView(CreateView):
      model = Property
  </code></pre>
  
  <p>I've been experimenting with adding <code>form_class = PropertyForm</code> to the CreateView/UpdateView, and using something like:</p>
  
  <pre><code>class PropertyForm(ModelForm):
  
      def __init__(self, *args, **kwargs):
          self.helper = FormHelper()
          self.helper.form_id = 'id-propertyForm'
          self.helper.form_method = 'post'
  
          self.helper.layout = Layout(
              Fieldset(
                  'Edit Property',
                  'name',
              ),
              ButtonHolder(
                  Submit('submit', 'Submit')
              )
          )
  
          super(PropertyForm, self).__init__(*args, **kwargs)
  
      class Meta:
          model = Property
  </code></pre>
  
  <p>...but I don't know where to go from here.</p>