title: How to translate a polygon in GeoDjango?
body: <p>I have a <code>Place</code> model which has a polygon field:</p>
  
  <pre><code>from django.contrib.gis.db import models
  
  class Place(models.Model):
      area = models.PolygonField()
  </code></pre>
  
  <p>I want to translate the <code>area</code> field of an instance of this <code>Place</code> model.</p>
  
  <p>Here is how I am doing it right now:</p>
  
  <pre><code>from django.contrib.gis.db.models.functions import Translate
  
  place = Place.objects.get(pk=1)
  place.area = Place.objects.filter(pk=place.pk).annotate(new_area=Translate('area', 0.001, 0.001)).first().new_area
  place.save()
  </code></pre>
  
  <p>This seems very hacky. I think that there should be a way of doing this in the following way:</p>
  
  <pre><code>place = Place.objects.get(pk=1)
  place.area = Translate(place.area, 0.001, 0.001)
  place.save()
  </code></pre>
  
  <p>But this throws an exception. </p>
  
  <p>Should I be using some library? Which one works well with GeoDjango and its models/fields?</p>
  
  <p>What is the better way of doing it?</p>