1. from django.db import models
    
  2. 
    
  3. 
    
  4. class Book(models.Model):
    
  5.     title = models.CharField(max_length=50)
    
  6.     author = models.CharField(max_length=50)
    
  7.     pages = models.IntegerField(db_column="page_count")
    
  8.     shortcut = models.CharField(max_length=50, db_tablespace="idx_tbls")
    
  9.     isbn = models.CharField(max_length=50, db_tablespace="idx_tbls")
    
  10.     barcode = models.CharField(max_length=31)
    
  11. 
    
  12.     class Meta:
    
  13.         indexes = [
    
  14.             models.Index(fields=["title"]),
    
  15.             models.Index(fields=["isbn", "id"]),
    
  16.             models.Index(
    
  17.                 fields=["barcode"], name="%(app_label)s_%(class)s_barcode_idx"
    
  18.             ),
    
  19.         ]
    
  20. 
    
  21. 
    
  22. class AbstractModel(models.Model):
    
  23.     name = models.CharField(max_length=50)
    
  24.     shortcut = models.CharField(max_length=3)
    
  25. 
    
  26.     class Meta:
    
  27.         abstract = True
    
  28.         indexes = [
    
  29.             models.Index(fields=["name"]),
    
  30.             models.Index(fields=["shortcut"], name="%(app_label)s_%(class)s_idx"),
    
  31.         ]
    
  32. 
    
  33. 
    
  34. class ChildModel1(AbstractModel):
    
  35.     pass
    
  36. 
    
  37. 
    
  38. class ChildModel2(AbstractModel):
    
  39.     pass