title: Django Abstract Class change behaviour according to actual class
body: <p>I think following code explains what I'm trying to do</p>
  
  <pre><code>from django.db import models
  
  
  class MyBaseClass(models.Model):
      type = models.IntegerField()
  
      class Meta:
          abstract = True
  
      def save(self, *args, **kwargs):
          self.type = #What Should I write here?#
          self.type = self.class.type ?
          super().save(*args, **kwargs)
  
  
  class Model1(MyBaseClass):
      TYPE = 1
  
  
  class Model2(MyBaseClass):
      TYPE = 2
  </code></pre>
  
  <p>I want to make sure following assertions work:</p>
  
  <pre><code>instance1 = Model1.objects.create()
  assert(instance1.type, 1)
  instance2 = Model2.objects.create()
  assert(instance1.type, 2)
  </code></pre>
  
  <p>How can I make this work? Thanks.</p>