title: django convert model instance to dict
body: <p>I am a beginner in Django. And I need to convert Model instance in to dictionary similar as Model.objects.values do, with relation fields. So I write a little function to do this:</p>
  
  <pre><code>def _get_proper(instance, field):
      if field.__contains__("__"):
          inst_name = field.split("__")[0]
          new_inst = getattr(instance, inst_name)
          next_field = "__".join(field.split("__")[1:])
          value = _get_proper(new_inst, next_field)
      else:
          value = getattr(instance, field)
  
      return value
  
  def instance_to_dict(instance, fields):
      return {key: _get_proper(instance, key) for key in fields}
  </code></pre>
  
  <p>So, i can use it in such way:</p>
  
  <pre><code>user_obj = User.objects.select_related(...).get(...)
  print instance_to_dict(user_obj, ["name", "city__name", "city_id"])
  </code></pre>
  
  <p>May you propose the better solution? Thanks!
  P.S. Sorry for my English.</p>