models.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. CASH = 1
  9. POINT = 2
  10. TYPE_CHOICE = (
  11. (CASH, u'现金商品'),
  12. (POINT, u'积分商品')
  13. )
  14. TYPE_JSON = [{'id': item[0], 'value': item[1]} for item in TYPE_CHOICE]
  15. name = models.CharField(verbose_name=u'商品名称', max_length=100)
  16. category = models.ForeignKey(Option, verbose_name=u'类别', on_delete=models.PROTECT)
  17. show_image = models.ForeignKey(Images, verbose_name=u'图片', on_delete=models.PROTECT, null=True, blank=True)
  18. initial_sale_count = models.IntegerField(verbose_name=u'起始销量', default=0)
  19. total_sales = models.IntegerField(verbose_name=u'实际总销量', default=0, editable=False)
  20. sort = models.PositiveSmallIntegerField(verbose_name=u'排序', default=0)
  21. type = models.PositiveSmallIntegerField(verbose_name=u'类型', choices=TYPE_CHOICE, default=CASH)
  22. price = models.BigIntegerField(verbose_name=u'销售价格', default=0)
  23. vip_price = models.BigIntegerField(verbose_name=u'会员价格', default=0)
  24. point_price = models.BigIntegerField(verbose_name=u'积分价格', default=0)
  25. status = models.PositiveSmallIntegerField(choices=settings.SALES_STATUS_CHOICES, verbose_name=u"状态", default=settings.ONLINE)
  26. notes = models.CharField(max_length=500, verbose_name=u"备注", null=True, blank=True)
  27. create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'创建人', editable=False, on_delete=models.PROTECT)
  28. create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now, editable=False)
  29. delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
  30. class Meta:
  31. db_table = "commodity"
  32. verbose_name = u'商品信息'
  33. ordering = ['sort','-id']
  34. index_together = (
  35. 'name',
  36. 'create_time',
  37. )
  38. default_permissions = ()
  39. permissions = []
  40. class CommodityImage(models.Model):
  41. DETAILS = 1
  42. CAROUSEL = 2
  43. TYPE_CHOICE = (
  44. (DETAILS, u'详情'),
  45. (CAROUSEL, u'轮播')
  46. )
  47. commodity = models.ForeignKey(Commodity, verbose_name=u'商品', on_delete=models.PROTECT, editable=False)
  48. type = models.PositiveSmallIntegerField(choices=TYPE_CHOICE, default=DETAILS)
  49. image = models.ForeignKey(Images, verbose_name=u'图片', on_delete=models.PROTECT)
  50. class Meta:
  51. db_table = "commodity_image"
  52. verbose_name = u'商品图片'
  53. default_permissions = ()
  54. permissions = []