django商品分类及商品数据建模实例详解

yipeiwu_com6年前Python基础

基类(商品类及分类类之间共同的字段)

class BaseModle(models.Model):
  name = models.CharField(max_length=32, unique=True)
 # 商品分类状态 1为上架 0 为下架
  status = models.SmallIntegerField(default=0)
 # 添加时间
  addtime = models.DateTimeField(auto_now_add=True)

  class Meta:
    #抽象
   abstract = True

分类建模(继承基类)

class Category(BaseModle):

  pass
  class Meta:
    db_table = 'category'  #指定表名

商品建模(相同字段继承基类)

class Goods(BaseModle):
  #商品图片
  img = models.CharField(max_length=255)
  #商品价格  最长9位保留两位小数
  price = models.DecimalField(max_digits=9,decimal_places=2)
  #商品分类外键 级联删除  一对多关系
  cate = models.ForeignKey('Category',on_delete=models.CASCADE)
  class Meta:
    db_table = 'goods'

生成迁移文件

python manage.py makemigrations

执行迁移文件

python manage.py migrate

以上就是本次介绍的全部相关知识点内容,感谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python 变量类型及命名规则介绍

首字母为英文和下划线,其它部分则可以是英文、数字和下划线(即:_),而变量名称是区分大小写,即变量temp与Temp为不同变量。变量的基本用法如下: 复制代码 代码如下:# 例:使用变...

Python使用win32com实现的模拟浏览器功能示例

本文实例讲述了Python使用win32com实现的模拟浏览器功能。分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- #!/user/bin/env p...

python中copy()与deepcopy()的区别小结

python中copy()与deepcopy()的区别小结

前言 copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。 深复制被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复...

NumPy统计函数的实现方法

numpy.amin()和numpy.amax()numpy.amin()用于计算数组中元素沿着指定轴的最小值。numpy.amax()用于计算数组中元素沿着指定轴的最大值a=np.arr...

Python中断多重循环的思路总结

I. 跳出单循环 不管是什么编程语言,都有可能会有跳出循环的需求,比如枚举时,找到一个满足条件的数就终止。跳出单循环是很简单的,比如: for i in range(10):...