models.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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(fields=['barcode'], name='%(app_label)s_%(class)s_barcode_idx'),
  14. ]
  15. class AbstractModel(models.Model):
  16. name = models.CharField(max_length=50)
  17. shortcut = models.CharField(max_length=3)
  18. class Meta:
  19. abstract = True
  20. indexes = [
  21. models.Index(fields=['name']),
  22. models.Index(fields=['shortcut'], name='%(app_label)s_%(class)s_idx'),
  23. ]
  24. class ChildModel1(AbstractModel):
  25. pass
  26. class ChildModel2(AbstractModel):
  27. pass