模型
1 字段类型
- BooleanField() 布尔类型
- CharField() 字符串类型
- DateField() 日期类型
- DateTimeField() 时间日期类型
- DecimalField() 金融常用浮点类型
- EmailField() 邮件类型 带判断
- FloatField() 浮点类型
- ImageField() 文件类型,存储图片路径
- upload_to=’给相对路径(static/xx/xx)’ 会自动创建没有的文件夹
- IntergerField()整数类型
- URLField() 网址类型
- TextField() 存大量文本数据的 – text
2 字段选项
- null=true
- default=0
- db_index=true 设置索引
- max_length
- 指定数据的最大长度
- 在CharField()中必须设置的选项
- on_delete
- django2中的ForeignKey必选字段
on_delete=models.CASCADE
创建Author表
创建Book表
同步数据到数据库
python manage.py makemigrations
python manage.py migrate
练习:晚上天天生鲜美食表
- 完善生鲜美食的表
- 商品类型
- 类型名称 title
- 类型图片 picture
- 默认上传至static/upload/goodstype
- 类型描述 desc
- 商品实体
- 图片 picture(FileField)
- 默认上传至static/upload/goods
- 名称 name
- 价格 price(DecimalField)
- 产品规格 spec
- 销售状态(在售,下架) isActive(BooleanField 默认值为true)
- 用户实体 Users
- 电话号码 uphone
- 密码 upwd
- 邮件 uemail
- 用户名 uname
- 用户状态 isActive 默认为True
商品类型表
商品表
用户表
数据的版本切换问题
python manage.py migrate
python manage.py migrate 应用名称 版本号
- 执行某应用某版本中的中间文件
- 版本号是0001这样的数字,数字后面的不用管
通过数据库自动导出Models
python manage.py inspectdb > 文件名.py
数据库自动导出测试结果