1. from django.db import models
    
  2. 
    
  3. 
    
  4. class Article(models.Model):
    
  5.     CHOICES = (
    
  6.         (1, "first"),
    
  7.         (2, "second"),
    
  8.     )
    
  9.     headline = models.CharField(max_length=100, default="Default headline")
    
  10.     pub_date = models.DateTimeField()
    
  11.     status = models.IntegerField(blank=True, null=True, choices=CHOICES)
    
  12.     misc_data = models.CharField(max_length=100, blank=True)
    
  13.     article_text = models.TextField()
    
  14. 
    
  15.     class Meta:
    
  16.         ordering = ("pub_date", "headline")
    
  17.         # A utf-8 verbose name (Ångström's Articles) to test they are valid.
    
  18.         verbose_name = "\xc3\x85ngstr\xc3\xb6m's Articles"
    
  19. 
    
  20. 
    
  21. class Movie(models.Model):
    
  22.     # Test models with non-default primary keys / AutoFields #5218
    
  23.     movie_id = models.AutoField(primary_key=True)
    
  24.     name = models.CharField(max_length=60)
    
  25. 
    
  26. 
    
  27. class Party(models.Model):
    
  28.     when = models.DateField(null=True)
    
  29. 
    
  30. 
    
  31. class Event(models.Model):
    
  32.     when = models.DateTimeField()
    
  33. 
    
  34. 
    
  35. class Department(models.Model):
    
  36.     id = models.PositiveIntegerField(primary_key=True)
    
  37.     name = models.CharField(max_length=200)
    
  38. 
    
  39. 
    
  40. class Worker(models.Model):
    
  41.     department = models.ForeignKey(Department, models.CASCADE)
    
  42.     name = models.CharField(max_length=200)
    
  43. 
    
  44.     def __str__(self):
    
  45.         return self.name
    
  46. 
    
  47. 
    
  48. class NonAutoPK(models.Model):
    
  49.     name = models.CharField(max_length=10, primary_key=True)
    
  50. 
    
  51. 
    
  52. # Chained foreign keys with to_field produce incorrect query #18432
    
  53. class Model1(models.Model):
    
  54.     pkey = models.IntegerField(unique=True, db_index=True)
    
  55. 
    
  56. 
    
  57. class Model2(models.Model):
    
  58.     model1 = models.ForeignKey(Model1, models.CASCADE, unique=True, to_field="pkey")
    
  59. 
    
  60. 
    
  61. class Model3(models.Model):
    
  62.     model2 = models.ForeignKey(Model2, models.CASCADE, unique=True, to_field="model1")