title: Update/Create Mutation with Django Graphene
body: <p>I'm struggling to find a good example or best practice to create an elegant way for update/create mutations for related models with django and graphene.</p>
  
  <p>Let say you have a model Address with OneToOne relation with (City, State, Zipcode)</p>
  
  <pre><code>class ZipCode(models.Model):
      zip = models.IntegerField(_("Zip"), blank=False)
  
      def __str__(self):
          return self.zip
  
      class Meta:
          verbose_name_plural = _('Zip codes')
  
  
  class State(models.Model):
      state = models.CharField(_("State"), max_length=12, blank=False)
  
      def __str__(self):
          return self.state
  
      class Meta:
          verbose_name_plural = _('States')
  
  
  class City(models.Model):
      city = models.CharField(_("City"), max_length=12, blank=False)
  
      def __str__(self):
          return self.city
  
      class Meta:
          verbose_name_plural = _('Cities')
  
  
  class Address(models.Model):
      line_1 = models.CharField(_("Address Line 1"), max_length=256, blank=True)
      line_2 = models.CharField(_("Address Line 2"), max_length=256, blank=True)
      state = models.OneToOneField(
          State,
          related_name=_("address_state"),
          verbose_name=_("State"),
          on_delete=models.CASCADE,
          null=True
      )
      city = models.OneToOneField(
          City,
          related_name=_("address_city"),
          verbose_name=_("City"),
          on_delete=models.CASCADE,
          null=True
      )
      zipcode = models.OneToOneField(
          ZipCode,
          related_name=_("address_zipcode"),
          verbose_name=_("ZipCode"),
          on_delete=models.CASCADE,
          null=True)
  
      def __str__(self):
          return self.id
  
      class Meta:
          abstract = True
          verbose_name_plural = _("Addresses")
  </code></pre>
  
  <p>How would you create a mutation in a elegant way that can accept query like:</p>
  
  <pre><code>mutation {
    updateAddress(addressData: {line_1: "Test"}, zipData: { zip: "12345" }, cityData: {city: "New York"}, stateData: { state: "NY" }) { ... }
  </code></pre>