表格模型类字段属性
Django创建模型类,表格字段属性
导入models
1 | # django要导入models |
Django自带一个user模型类,创建user模型类的时候可以继承django的
1 | from django.contrib.auth.models import AbstractUser |
之后就可以在这个类下面自定添加新的字段属性。
创建模型类
在models.py文件中,编写如下代码:
例:
1 |
|
如示例所示即可创建一个模型类
字段属性
1) 数据库表名
模型类如果未指明表名,Django默认以 小写app应用名_小写模型类名 为数据库表名。
可通过db_table 指明数据库表名。
2) 关于主键
django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。
默认创建的主键列属性为id,可以使用pk代替,pk全拼为primary key。
3) 属性命名限制
不能是python的保留关键字。
不允许使用连续的下划线,这是由django的查询方式决定的。
定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下:
属性=models.字段类型(选项)
4) 外键
在设置外键时,需要通过on_delete选项指明主表删除数据时,对于外键引用表数据如何处理,在django.db.models中包含了可选常量:
CASCADE 级联,删除主表数据时连通一起删除外键表中数据
PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被外键应用的数据
SET_NULL 设置为NULL,仅在该字段null=True允许为null时可用
SET_DEFAULT 设置为默认值,仅在该字段设置了默认值时可用
SET() 设置为特定值或者调用特定方法,如
1 | from django.conf import settings |
DO_NOTHING 不做任何操作,如果数据库前置指明级联性,此选项会抛出IntegrityError异常。
5) 字段类型
6) 选项
Flask创建模型类,表格字段属性
数据库连接
连接数据库需要安装pymysql和flask-sqlalchemy
1 | pip install Flask-MySQLdb==0.2.0 |
然后进行设置,数据库使用url指定
1 | app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@localhost:3306/数据库名' |
然后在mysql创建你要连接的数据库
其他配置
定义模型类
定义模型类
1 | class 类名(db.Model): |
创建表
1 | db.create_all() |
字段属性和选项
常用的SQLAlchemy字段类型
常用的SQLAlchemy列选项
常用的SQLAlchemy关系选项
SKU与SPU
SPU = Standard Product Unit (标准产品单位)
SPU是商品信息聚合的最小单位,是一组可服用、易检索的标准化信息的集合,该集合描述了一个产品的特性。
个人理解,属性值特性类似相同,可归为一起的商品类就是spu
SKU = Stock Keeping Unit (库存量单位)
SKU即库存进出计量的单位,可以是以件、盒、托盘等为单位,是物理上不可分割的最小存货单元。在使用时要根据不同业态,不同管理模式来处理。在服装、鞋类商品中使用最多最普遍。
个人理解,有具体属性值,具体规格的商品就是sku