models.py 816 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. """
  2. Tests for forcing insert and update queries (instead of Django's normal
  3. automatic behavior).
  4. """
  5. from django.db import models
  6. class Counter(models.Model):
  7. name = models.CharField(max_length=10)
  8. value = models.IntegerField()
  9. class InheritedCounter(Counter):
  10. tag = models.CharField(max_length=10)
  11. class ProxyCounter(Counter):
  12. class Meta:
  13. proxy = True
  14. class SubCounter(Counter):
  15. pass
  16. class SubSubCounter(SubCounter):
  17. pass
  18. class WithCustomPK(models.Model):
  19. name = models.IntegerField(primary_key=True)
  20. value = models.IntegerField()
  21. class OtherSubCounter(Counter):
  22. other_counter_ptr = models.OneToOneField(
  23. Counter, primary_key=True, parent_link=True, on_delete=models.CASCADE
  24. )
  25. class DiamondSubSubCounter(SubCounter, OtherSubCounter):
  26. pass