title: How to create instances of related models in Django
body: <p>I'm working on a CMSy app for which I've implemented a set of models which allow for creation of custom Template instances, made up of a number of Fields and tied to a specific Customer. The end-goal is that one or more templates with a set of custom fields can be defined through the Admin interface and associated to a customer, so that customer can then create content objects in the format prescribed by the template.</p>
  
  <p>I seem to have gotten this hooked up such that I can create any number of Template objects, but I'm struggling with how to create instances - actual content objects - in those templates. For example, I can define a template "Basic Page" for customer "Acme" which has the fields "Title" and "Body", but I haven't figured out how to create Basic Page instances where these fields can be filled in. </p>
  
  <p>Here are my (somewhat elided) models...</p>
  
  <pre><code>class Customer(models.Model):
      ...
  
  class Field(models.Model):
      label = models.CharField(max_length=255)
      component = models.ForeignKey(ContentType, 
              limit_choices_to={'id__in': component_choices}
              )
      fields = models.Manager()
  
  class Template(models.Model):
      label = models.CharField(max_length=255)
      clients = models.ManyToManyField(Customer, blank=True)
      fields = models.ManyToManyField(Field, blank=True)
  
  class ContentObject(models.Model):
      label = models.CharField(max_length=255)
      template = models.ForeignKey(Template)
      author = models.ForeignKey(User)
      customer = models.ForeignKey(Customer)
      mod_date = models.DateTimeField('Modified Date', editable=False)
      def __unicode__(self):
          return '%s (%s)' % (self.label, self.template)
      def save(self):
          self.mod_date = datetime.datetime.now()
          super(ContentObject, self).save()
  </code></pre>
  
  <p>Thanks in advance for any advice!</p>