1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
"""
Bare-bones model
This is a basic model with only two non-primary-key fields.
"""
import uuid
from django.db import models
class Article(models.Model):
headline = models.CharField(max_length=100, default="Default headline")
pub_date = models.DateTimeField()
class Meta:
ordering = ("pub_date", "headline")
def __str__(self):
return self.headline
class FeaturedArticle(models.Model):
article = models.OneToOneField(Article, models.CASCADE, related_name="featured")
class ArticleSelectOnSave(Article):
class Meta:
proxy = True
select_on_save = True
class SelfRef(models.Model):
selfref = models.ForeignKey(
"self",
models.SET_NULL,
null=True,
blank=True,
related_name="+",
)
article = models.ForeignKey(Article, models.SET_NULL, null=True, blank=True)
article_cited = models.ForeignKey(
Article, models.SET_NULL, null=True, blank=True, related_name="cited"
)
def __str__(self):
# This method intentionally doesn't work for all cases - part
# of the test for ticket #20278
return SelfRef.objects.get(selfref=self).pk
class PrimaryKeyWithDefault(models.Model):
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4)
class PrimaryKeyWithDbDefault(models.Model):
uuid = models.IntegerField(primary_key=True, db_default=1)
class PrimaryKeyWithFalseyDefault(models.Model):
uuid = models.IntegerField(primary_key=True, default=0)
class PrimaryKeyWithFalseyDbDefault(models.Model):
uuid = models.IntegerField(primary_key=True, db_default=0)
class ChildPrimaryKeyWithDefault(PrimaryKeyWithDefault):
pass
|