title: Override save method for every class in models.Model
body: <p>I need to get every class, that inherits models.Model to have created and updated field. I can achieve this by adding custom save method to every field, </p>
  
  <pre><code>def save(self, *args, **kwargs):
      if not self.id:
          self.created = timezone.now()
      self.modified = timezone.now()
      return super(`models.Model`, self).save(*args, **kwargs)
  </code></pre>
  
  <p>but this violates Don'tRepeatYourself rule.</p>
  
  <p>I've tried to override models.Model:</p>
  
  <pre><code>class LogModel(models.Model):
      created = models.DateTimeField(editable=False)
      updated = models.DateTimeField()
  
      def save(self, *args, **kwargs):
          if not self.id:
              self.created = timezone.now()
          self.updated = timezone.now()
          return super(LogModel, self).save(*args, **kwargs)
  </code></pre>
  
  <p>and use LogModel instead of models.Model, but this failed with error E006(
  The field 'x' clashes with the field 'x' from model 'y.logmodel'.</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>My main question is how to add a custom specific field to all models in my models.py</p>