models.py 1.9 KB

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