1. """
    
  2. Tests for built in Function expressions.
    
  3. """
    
  4. from django.db import models
    
  5. 
    
  6. 
    
  7. class Author(models.Model):
    
  8.     name = models.CharField(max_length=50)
    
  9.     alias = models.CharField(max_length=50, null=True, blank=True)
    
  10.     goes_by = models.CharField(max_length=50, null=True, blank=True)
    
  11.     age = models.PositiveSmallIntegerField(default=30)
    
  12. 
    
  13. 
    
  14. class Article(models.Model):
    
  15.     authors = models.ManyToManyField(Author, related_name="articles")
    
  16.     title = models.CharField(max_length=50)
    
  17.     summary = models.CharField(max_length=200, null=True, blank=True)
    
  18.     text = models.TextField()
    
  19.     written = models.DateTimeField()
    
  20.     published = models.DateTimeField(null=True, blank=True)
    
  21.     updated = models.DateTimeField(null=True, blank=True)
    
  22.     views = models.PositiveIntegerField(default=0)
    
  23. 
    
  24. 
    
  25. class Fan(models.Model):
    
  26.     name = models.CharField(max_length=50)
    
  27.     age = models.PositiveSmallIntegerField(default=30)
    
  28.     author = models.ForeignKey(Author, models.CASCADE, related_name="fans")
    
  29.     fan_since = models.DateTimeField(null=True, blank=True)
    
  30. 
    
  31. 
    
  32. class DTModel(models.Model):
    
  33.     name = models.CharField(max_length=32)
    
  34.     start_datetime = models.DateTimeField(null=True, blank=True)
    
  35.     end_datetime = models.DateTimeField(null=True, blank=True)
    
  36.     start_date = models.DateField(null=True, blank=True)
    
  37.     end_date = models.DateField(null=True, blank=True)
    
  38.     start_time = models.TimeField(null=True, blank=True)
    
  39.     end_time = models.TimeField(null=True, blank=True)
    
  40.     duration = models.DurationField(null=True, blank=True)
    
  41. 
    
  42. 
    
  43. class DecimalModel(models.Model):
    
  44.     n1 = models.DecimalField(decimal_places=2, max_digits=6)
    
  45.     n2 = models.DecimalField(decimal_places=7, max_digits=9, null=True, blank=True)
    
  46. 
    
  47. 
    
  48. class IntegerModel(models.Model):
    
  49.     big = models.BigIntegerField(null=True, blank=True)
    
  50.     normal = models.IntegerField(null=True, blank=True)
    
  51.     small = models.SmallIntegerField(null=True, blank=True)
    
  52. 
    
  53. 
    
  54. class FloatModel(models.Model):
    
  55.     f1 = models.FloatField(null=True, blank=True)
    
  56.     f2 = models.FloatField(null=True, blank=True)