models.py 1.0 KB

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