零 介绍
对于ORM框架,可以简单的认为自定义类U表示数据库的表;根据类创建的对象表示数据库表
一 数据表设计
1 类型统计
CharField->(string)->(1 max_length 设置字段长度 2 choices = chose),下面是包含着验证
1 EmailField
2 GenericIPAddressField
3 URLField
4 TextField
5 JSONField
6 choice = {('','')}
7 DateTimeField->(time)->(1 auro_now_add=True 不更新时间2 default=datetime.datetime.now 3 auto_add=True 更新时间)
8 IntegerField ->(int)
2 通用属性统计
1 default 默认值设置
2 verbose_name 详细说明,可以理解成comment
3 db_index 是否在此列创建索引
4 unique 是否唯一 (默认不唯一)->常用
5 null 是否默认为空(默认不为空)->常用
二 元数据
class meta 定义表的元数据
1 db_table 自定义数据库表名
2 permissions 在Django Admin管理模块下使用的,如果你设置了这个属性可以让指定的方法权限描述更清晰可读
eg:permissions = (("can_deliver_pizzas", "Can deliver pizzas"),)
3 verbose_name 版本名称
4 verbose_name_plural 模型的复数形式 一般情况下版本名称一致
5 unique_together 当你需要通过两个字段保持唯一性时使用 这会在 Django admin 层和数据库层同时做出限制
三 返回指定model的值
def __unicode__(self):
return self.LocationName
四 数据命令解析
migrate: 用于执行迁移动作,具有syncdb的功能
makemigrations: 基于当前的model创建新的迁移策略文件
五 相关问题
1 删表
1 注释相关models 2执行 python manage.py migrate myapp (--fake(重置))
2 丢失问题
使用 django 过程中,发现丢失 migrate 的问题,在更新数据库的时候,需要 migrate 报错解决
删除数据库,重新建库
重置 migtate
相关文章
- 10-11安卓开发基础面试题,带着问题深入学习Handler
- 10-11跟我从零基础学习Unity3D开发--资源打包篇(AssetBundle)
- 10-11第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表
- 10-11django drf 基础学习4
- 10-112-STM32+W5500+GPRS物联网开发基础篇-基础篇学习的内容
- 10-11Mars3D开发基础学习:三维场景 Map
- 10-11Mars3D开发基础学习:矢量图层
- 10-11做web开发需要学习哪些技术--基础篇
- 10-11零基础学习WEB前端开发(九):表格标签
- 10-11Django Web开发学习笔记(5)