models.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from django.db import models
  2. try:
  3. from PIL import Image
  4. except ImportError:
  5. Image = None
  6. class CaseTestModel(models.Model):
  7. integer = models.IntegerField()
  8. integer2 = models.IntegerField(null=True)
  9. string = models.CharField(max_length=100, default='')
  10. big_integer = models.BigIntegerField(null=True)
  11. binary = models.BinaryField(default=b'')
  12. boolean = models.BooleanField(default=False)
  13. date = models.DateField(null=True, db_column='date_field')
  14. date_time = models.DateTimeField(null=True)
  15. decimal = models.DecimalField(max_digits=2, decimal_places=1, null=True, db_column='decimal_field')
  16. duration = models.DurationField(null=True)
  17. email = models.EmailField(default='')
  18. file = models.FileField(null=True, db_column='file_field')
  19. file_path = models.FilePathField(null=True)
  20. float = models.FloatField(null=True, db_column='float_field')
  21. if Image:
  22. image = models.ImageField(null=True)
  23. generic_ip_address = models.GenericIPAddressField(null=True)
  24. null_boolean = models.BooleanField(null=True)
  25. positive_integer = models.PositiveIntegerField(null=True)
  26. positive_small_integer = models.PositiveSmallIntegerField(null=True)
  27. positive_big_integer = models.PositiveSmallIntegerField(null=True)
  28. slug = models.SlugField(default='')
  29. small_integer = models.SmallIntegerField(null=True)
  30. text = models.TextField(default='')
  31. time = models.TimeField(null=True, db_column='time_field')
  32. url = models.URLField(default='')
  33. uuid = models.UUIDField(null=True)
  34. fk = models.ForeignKey('self', models.CASCADE, null=True)
  35. class O2OCaseTestModel(models.Model):
  36. o2o = models.OneToOneField(CaseTestModel, models.CASCADE, related_name='o2o_rel')
  37. integer = models.IntegerField()
  38. class FKCaseTestModel(models.Model):
  39. fk = models.ForeignKey(CaseTestModel, models.CASCADE, related_name='fk_rel')
  40. integer = models.IntegerField()
  41. class Client(models.Model):
  42. REGULAR = 'R'
  43. GOLD = 'G'
  44. PLATINUM = 'P'
  45. ACCOUNT_TYPE_CHOICES = (
  46. (REGULAR, 'Regular'),
  47. (GOLD, 'Gold'),
  48. (PLATINUM, 'Platinum'),
  49. )
  50. name = models.CharField(max_length=50)
  51. registered_on = models.DateField()
  52. account_type = models.CharField(
  53. max_length=1,
  54. choices=ACCOUNT_TYPE_CHOICES,
  55. default=REGULAR,
  56. )