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
76 lines
3.1 KiB
2 years ago
|
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'
|