title: Speed up Django & Postgres with simple JSON field
body: <p>I have a very very complex model with lots of related models by FK and M2M which are also have lots of relations, etc.</p>
  
  <p>So, rendering a list of such objects is a very expensive SQL operation, and i want to optimise it. (select_related and prefetch_related help, but a little)</p>
  
  <p>I have maybe a very stupid but very simple idea - define save method, that will serialize all object's data to a field stores JSON</p>
  
  <p>To do something like this:</p>
  
  <pre><code>class VeryComplexModel(models.Model):
  
      # some_field
      # some_field
      # ...
  
      json = models.TextField()
  
      def save(self):
          json = serialize(self)
  </code></pre>
  
  <p>in views.py:</p>
  
  <pre><code>complexModels = ComplexModel.objects.get_values(json)
  </code></pre>
  
  <p>And in template:</p>
  
  <pre><code>{% for m in complexModels %}
  
      {{ m.some_field }}
  
      {{ m.some_field.some_fields.some_field }}
  
  {% endif %}
  </code></pre>
  
  <p>Is it a bad idea? Maybe it is a good idea in general, but I should use more suitable stuff like special JSON field or something?</p>
  
  <p>Big thanx for advices!</p>