models.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # coding=utf-8
  2. from django.db import models
  3. from django.utils import timezone
  4. from django.conf import settings
  5. from apps.images.models import Images
  6. from apps.option.models import Option
  7. class Commodity(models.Model):
  8. name = models.CharField(verbose_name=u'商品名称', max_length=100)
  9. category = models.ForeignKey(Option, verbose_name=u'类别', on_delete=models.PROTECT)
  10. show_image = models.ForeignKey(Images, verbose_name=u'图片', on_delete=models.PROTECT, null=True, blank=True)
  11. initial_sale_count = models.IntegerField(verbose_name=u'起始销量', default=0)
  12. total_sales = models.IntegerField(verbose_name=u'实际总销量', default=0, editable=False)
  13. sort = models.PositiveSmallIntegerField(verbose_name=u'排序', default=0)
  14. status = models.PositiveSmallIntegerField(choices=settings.SALES_STATUS_CHOICES, verbose_name=u"状态", default=settings.ONLINE)
  15. create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'创建人', editable=False, on_delete=models.PROTECT)
  16. create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
  17. delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
  18. class Meta:
  19. db_table = "commodity"
  20. verbose_name = u'商品信息'
  21. ordering = ['sort','-id']
  22. index_together = (
  23. 'name',
  24. 'create_time',
  25. )
  26. default_permissions = ()
  27. permissions = []
  28. class CommodityImage(models.Model):
  29. DETAILS = 1
  30. CAROUSEL = 2
  31. TYPE_CHOICE = (
  32. (DETAILS, u'详情'),
  33. (CAROUSEL, u'轮播')
  34. )
  35. commodity = models.ForeignKey(Commodity, verbose_name=u'商品', on_delete=models.PROTECT, editable=False)
  36. type = models.PositiveSmallIntegerField(choices=TYPE_CHOICE, default=DETAILS)
  37. image = models.ForeignKey(Images, verbose_name=u'图片', on_delete=models.PROTECT)
  38. class Meta:
  39. db_table = "commodity_image"
  40. verbose_name = u'商品图片'
  41. default_permissions = ()
  42. permissions = []
  43. class CommodityDetails(models.Model):
  44. CASH = 1
  45. POINT = 2
  46. TYPE_CHOICE = (
  47. (CASH, u'现金商品'),
  48. (POINT, u'积分商品')
  49. )
  50. commodity = models.ForeignKey(Commodity,verbose_name=u'商品', on_delete=models.PROTECT)
  51. type = models.PositiveSmallIntegerField(verbose_name=u'类型', choices=TYPE_CHOICE, default=CASH)
  52. price = models.BigIntegerField(verbose_name=u'销售价格')
  53. vip_price = models.BigIntegerField(verbose_name=u'会员价格')
  54. point_price = models.BigIntegerField(verbose_name=u'积分价格')
  55. sales = models.IntegerField(verbose_name=u'实际销量', null=True, default=0)
  56. status = models.PositiveSmallIntegerField(choices=settings.SALES_STATUS_CHOICES, verbose_name=u"状态", default=settings.ONLINE)
  57. class Meta:
  58. db_table = "commodity_details"
  59. verbose_name = u'商品明细'
  60. ordering = ['-id']
  61. default_permissions = ()
  62. permissions = []