讲课笔记08 定义商城模型
(一)、commodity应用的模型定义
在commodity的models.py模块中定义类别class模型详细代码如下:
#商品类别模型
class Types(models.Model):
id=models.AutoField(primary_key=True)#编号自增,作为主键
firsts=models.CharField(‘一级类型’,max_length=100)
seconds=models.CharField(‘二级类型’,max_length=100)
def __str__(self):
return str(self.id)
#内部类(inner class)--元数据内部类
class Meta:
verbose_name='商品类型'
verbose_name_plural='商品类型'
#商品信息模型
class CommodityInfos(models.Model):
id=models.AutoField(primary_key=True)#编号自增,作为主键
name=models.CharField(‘商品名称’,max_length=100)
colors=models.CharField(‘颜色规格’,max_length=100)
types = models.CharField(‘商品类型’, max_length=100)
price = models.FloatField(‘商品价格’)
discount = models.FloatField(‘折后价格’)
stock = models.IntegerField(‘存货数量’)
sold = models.IntegerField(‘已售数量’)
likes = models.IntegerField(‘收藏数量’)
shelf_date=models.DateField(‘上架日期’,auto_now_add=True)
img=models.FileField(‘商品主图’,upload_to=r’imgs’)
details=models.FileField(‘商品详情’,upload_to=r’details’)
def __str__(self):
return str(self.id)
# 内部类(inner class)--元数据内部类
class Meta:
verbose_name = '商品类型'
verbose_name_plural = '商品类型'
(二)、shopper应用的模型定义
在shopper的models.py模块中定义类别class模型与commodity应用类似详细代码如下:
STATE=(
(‘待支付’,‘待支付’),
(‘已支付’,‘已支付’),
(‘发货中’,‘发货中’),
(‘已签收’,‘已签收’),
(‘退货中’,‘退货中’),
)
#购物车信息模型
class CartInfos(models.Model):
id=models.AutoField(primary_key=True)#编号自增,作为主键
quantity=models.IntegerField(‘购买数量’)
commodityInfos_id=models.IntegerField(‘商品ID’)
user_id=models.IntegerField(‘用户ID’)
def __str__(self):
return str(self.id)
#内部类(inner class)--元数据内部类
class Meta:
verbose_name='购物车'
verbose_name_plural='购物车'
#订单信息模型
class OrderInfos(models.Model):
id = models.AutoField(primary_key=True)
price = models.FloatField(‘订单总价’)
created = models.DateField(‘创建时间’, auto_now_add=True)
user_id = models.IntegerField(‘用户ID’)
state = models.CharField(‘订单状态’, max_length=20, choices=STATE)
def __str__(self):
return str(self.id)
class Meta:
verbose_name = '订单信息'
verbose_name_plural = '订单信息'
(三)、数据迁移创建数据表
1.执行命令:python manage.py makemigrations
2.使用终端命令进行数据迁移生成数据表
3.成功之后,在MySQL数据库中会出现4个新的数据库