from django.db import models from common.base_model import BaseModel from datetime import datetime from ckeditor_uploader.fields import RichTextUploadingField # Create your models here. class GoodsCategory(BaseModel): """ 商品分类 """ id = models.AutoField(primary_key=True) name = models.CharField(verbose_name='分类名称', max_length=50, default='') parent = models.ForeignKey(verbose_name='父类', to="self", null=True, blank=True, on_delete=models.DO_NOTHING, related_name='sub_cat') logo = models.ImageField(verbose_name='分类logo图片', upload_to='upload/cate_img') is_nav = models.BooleanField(verbose_name='是否显示在导航栏', default=False) sort = models.IntegerField(verbose_name='排序') def __str__(self): return self.name class Meta: verbose_name = '商品分类' verbose_name_plural = '商品分类' db_table = 'd_goods_category' class Goods(models.Model): """ 商品信息 """ STATUS = ( (0, '正常'), (1, '下架') ) name = models.CharField(verbose_name='商品名称', max_length=50, default='') category = models.ForeignKey(verbose_name='商品分类', to=GoodsCategory, on_delete=models.DO_NOTHING, blank=True, null=True) market_price = models.DecimalField(verbose_name='市场价', max_digits=8, decimal_places=2, default=0) price = models.DecimalField(verbose_name='实际价格', max_digits=8, decimal_places=2, default=0) unit = models.CharField(verbose_name='单位', max_length=10, blank=True, null=True) click_num = models.IntegerField(verbose_name='点击数', default=0) amount = models.IntegerField(verbose_name='销售量', default=0) stock_num = models.IntegerField(verbose_name='库存量', default=0) fav_num = models.IntegerField(verbose_name='收藏量', default=0) goods_desc = RichTextUploadingField(verbose_name='商品详情', default='') status = models.IntegerField(verbose_name='商品状态', default=0, choices=STATUS) main_img = models.ImageField(verbose_name='商品主图', upload_to='upload/goods_img', blank=True, null=True) is_recommend = models.BooleanField(verbose_name='是否推荐', default=False) user = models.ForeignKey(verbose_name='用户', to='', on_delete=models.DO_NOTHING, blank=True, null=True) create_datetime = models.DateTimeField(verbose_name='创建时间', default=datetime.now()) def __str__(self): return self.name class Meta: verbose_name = '商品信息' verbose_name_plural = '商品信息' db_table = 'd_goods' class Slide(BaseModel): """ 首页轮播图 """ goods = models.ForeignKey(verbose_name='商品', to=Goods, on_delete=models.DO_NOTHING) images = models.ImageField(verbose_name='轮播图片', upload_to='upload/slide_img') sort = models.IntegerField(verbose_name='排序', default=0) class Meta: verbose_name = '首页轮播' verbose_name_plural = '首页轮播' db_table = 'd_slide'