models.py 2.1 KB

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