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设计】的支持。

相关文章

shelve 用来持久化任意的Python对象实例代码

shelve -- 用来持久化任意的Python对象 这几天接触了Python中的shelve这个module,感觉比pickle用起来更简单一些,它也是一个用来持久化Python对象的...

centos6.8安装python3.7无法import _ssl的解决方法

公司运维提供的服务器是centos6.8,打算在上面装python3.7,结果费尽周折,按照网上的步骤python3.7能成功安装,但是import ssl却报找不到_ssl模块的错误:...

JupyterNotebook设置Python环境的方法步骤

JupyterNotebook设置Python环境的方法步骤

使用Python时,常遇到的一个问题就是Python和库的版本不同。Anaconda的env算是解决这个问题的一个好用的方法。但是,在使用Jupyter Notebook的时候,我却发现...

Python进程间通信之共享内存详解

前一篇博客说了怎样通过命名管道实现进程间通信,但是要在windows是使用命名管道,需要使用python调研windows api,太麻烦,于是想到是不是可以通过共享内存的方式来实现。查...

python读写csv文件的方法

python读写csv文件的方法

1.爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup books =...