在Django中创建与数据库的链接并调用数据库的数据是很关键的步骤,那么怎么实现这个过程呢?

下面这篇文章简单梳理了一下创建Model层的过程和应用

模型-Models

首先需要理解什么是模型?

模型,根据数据库中数据表中数据表的结构而创建出来的class

1. 创建和使用模型的方法

1)创建数据库需要到数据库中手动创建     create  database  …

2) 配置      setting.py中配置

DATABASES ={

‘default’:{

‘ENGINE’:

‘NAME’:},

}

参数的解析:

1. ENGINE: 引擎      django.db.backends.mysql

2. NAME :连接到的数据库名称       web.db

3.USER: 用户名称 ,通常为root

4. PASSWORD: 密码

5. HOST : 连接的主机,本机localhost/127.0.0.1/可以不写

6. PORT :端口,3306

例如下面这张图:

在做数据库集群的时候如果要连接多个数据库,可以在写default后面再添加一个字典类型的key-value对,

key的名称可以自己定义。

2. 如何编写Models

首先需要理解两个概念,实体类和实体

1)实体类

Models中每个class都称之为模型类(Model)或者实体类(Entry)

Models中的每个实体类,必须继承自models.Model(原生类是没有models的操作的)

2)实体:

数据表中的一行记录,就是一个实体。

实体完整性:确保每张表中的数据不能有重复。

主键是为了实现实体完整性的方法之一。

3.Django中提供的数据字段 和 字段选项

这里只写一些比较常用的,更多详细的用法细节可以移步到官网 : www.djangoproject.com

在Documentaiton栏目中相应找到 The  model  layer 

1. 数据字段

1) CharField()             字符串, 属性值max_length必须要写,表明字符串长度,相当于原生MySQL中的char()

2) BooleanField()        布尔值,True或者False

3) DataField()              时间,只有日期,不带时间点,例如:2018-1-1

4) DateTimeField()      时间,带时间点,例如:2018-1-1 12:00:00

5) DecimalField()         带小数点的定点数,可以用于与金融或者数字有关的字段

6) EmailField()            Email类型

7) URLField()             URL类型,在数据库中会转换为固定长度(200)字符串

8) FileField()              文件类型

9) IntergerField()        整型数

10) FloatField()          浮点数

11) ImageField()        图片,一般在实际应用中存放图片的地址

12) TextField()           文本

  2. 字段选项

1) null                       是否允许为空,赋值True或者False,例如:name =  models.Char(max_length= 10 , null = False)

2) blank                    是否为空格

3) choices

4)db_column           属性名,例如:db_column = ' music_name '

5)db_index              索引,为该字段设置索引

6) default                默认值,例如:password = models.Char(max_length= 10 , defalut = '123456')

7) primary_key       主键,值为True/False,默认为False(不设置为主键)

最新文章

  1. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
  2. GPRM/GNRMC定位信息的读取与解析
  3. RMI、RPC、SOAP通信技术介绍及比对
  4. 设计模式之 - 工厂方法模式 (Factory Method design pattern)
  5. Highcharts选项配置详细说明文档
  6. JavaScript中国象棋程序(5) - Alpha-Beta搜索
  7. Excel 按模板格式导出
  8. python——网络编程
  9. 用SpriteBuilder简化"耕牛遍地走"的动画效果(三)
  10. The 2nd tip of DB Query Analyzer
  11. Spring boot 配置文件详解 (properties 和yml )
  12. iphone及ipad屏幕尺寸参考
  13. nginx默认配置和默认站点启动
  14. 关于redis和memcached的一些想法
  15. thymeleaf 拼接字符串与变量
  16. HDU 5213 分块 容斥
  17. [postgreSql]postgreSql数据库、模式、表、函数的删除与创建
  18. Ubuntu14.04 换源 阿里云
  19. 201621123033 《Java程序设计》第2周学习总结
  20. (6)python tkinter-容器、子窗体

热门文章

  1. iOS-实现后台长时间运行
  2. spring boot -thymeleaf-日期转化
  3. 【sping揭秘】14、@before @AfterThrowing
  4. 【适合公司业务】全网最详细的IDEA里如何正确新建【普通或者Maven】的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(类似eclipse里同一个workspace下【多个子项目】并存)(图文详解)
  5. 杭州富阳场口科目四考试公交路线(西溪北苑->场口)
  6. Eureka单机高可用伪集群配置
  7. 使用Dockerfile制作JDK+tomcat镜像
  8. LearnOpenGL学习笔记(二)——着色器简单理解
  9. 关于QT中.pro文件中的相对路径
  10. apache log4j打印日志源码出口