You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
3.1 KiB

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'