2
0

models.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. """
  2. Bare-bones model
  3. This is a basic model with only two non-primary-key fields.
  4. """
  5. import uuid
  6. from django.db import models
  7. class Article(models.Model):
  8. headline = models.CharField(max_length=100, default="Default headline")
  9. pub_date = models.DateTimeField()
  10. class Meta:
  11. ordering = ("pub_date", "headline")
  12. def __str__(self):
  13. return self.headline
  14. class FeaturedArticle(models.Model):
  15. article = models.OneToOneField(Article, models.CASCADE, related_name="featured")
  16. class ArticleSelectOnSave(Article):
  17. class Meta:
  18. proxy = True
  19. select_on_save = True
  20. class SelfRef(models.Model):
  21. selfref = models.ForeignKey(
  22. "self",
  23. models.SET_NULL,
  24. null=True,
  25. blank=True,
  26. related_name="+",
  27. )
  28. article = models.ForeignKey(Article, models.SET_NULL, null=True, blank=True)
  29. def __str__(self):
  30. # This method intentionally doesn't work for all cases - part
  31. # of the test for ticket #20278
  32. return SelfRef.objects.get(selfref=self).pk
  33. class PrimaryKeyWithDefault(models.Model):
  34. uuid = models.UUIDField(primary_key=True, default=uuid.uuid4)
  35. class PrimaryKeyWithDbDefault(models.Model):
  36. uuid = models.IntegerField(primary_key=True, db_default=1)
  37. class ChildPrimaryKeyWithDefault(PrimaryKeyWithDefault):
  38. pass