title: Django: field's default value from self model's instances
body: <p>How can I make default value for a field to be taken from existing objects of a model?</p>
  <p>I tried these and it didn't worked:</p>
  <p>1)</p>
  <pre><code>class ModelA(models.Model):
      fieldA = models.CharField(default=self.get_previous())
      
      def get_previous(self):
          return ModelA.objects.all()[0].fieldA
  </code></pre>
  <p><code>NameError: name 'self' is not defined</code></p>
  <p>2)</p>
  <pre><code>class ModelA(models.Model):
      fieldA = models.CharField(default=ModelA.get_previous())
  
      @staticmethod
      def get_previous():
          return ModelA.objects.all()[0].fieldA
  </code></pre>
  <p><code>NameError: name 'ModelA' is not defined</code></p>
  <p>3)</p>
  <pre><code>class ModelA(models.Model):
      fieldA = models.CharField(default=get_previous())
  
  def get_previous():
      return ModelA.objects.all()[0].fieldA
  </code></pre>
  <p><code>NameError: global name 'get_previous' is not defined</code></p>
  <p>4)</p>
  <pre><code>def get_previous():
      return ModelA.objects.all()[0].fieldA
  
  class ModelA(models.Model):
      fieldA = models.CharField(default=get_previous())
  </code></pre>
  <p><code>NameError: global name 'ModelA' is not defined</code></p>
  <p>It's clear why 3) and 4) won't work.
  I can imagine why 1) won't work - looks like class' properies can't refer to instance's (i.e. self).
  I can imagine why 2) won't work - apparently there's no reference to ModelA until interpreter will go trough whole class.</p>
  <p>So how should I approach this?</p>