在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(不设置为主键)

Django基础篇--Models的更多相关文章

  1. 01: Django基础篇

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  2. 01:django基础篇

    Django其他篇 目录: 1.1 django初探 1.2 第一个django项目 1.3 django render/redirect/HttpResponse 和 request.GET req ...

  3. python的django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  4. python3之Django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  5. Web框架django基础篇

    基本配置及学习  路由(Urls).视图(Views).模板(Template).Model(ORM). 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开 ...

  6. django 基础篇

    jdango 简介: 一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django,使你能够以 小的代价构建和维护高质量的Web应用. Python的WEB框架有Django.Tornad ...

  7. python 之 Django 基础篇

    1,Django流程介绍 MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据 ...

  8. django基础篇

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  9. Django 基础篇(一)

    创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...

随机推荐

  1. SpringBoot 遇到 com.google.guava » guava 组件运行异常问题修复方案

    环境 Apache Maven : 3.5.4 org.springframework.boot » spring-boot-starter-parent : 2.0.3.RELEASE io.spr ...

  2. WebSocket connection to 'ws://xx:9502/' failed:Error in connection establishment:net::ERR_CONNECTION_TIMED_OUT

    1.首先看能否ping通服务器 2.telnet xx 9502之后能不能连通 3.如果连不通有可能是防火墙的问题 可以试试清空防火墙规则,或者关闭防火墙 iptables -F

  3. FF笔试题

    一.单选题 1.下列关于继承的描述错误的是(  ) A.  在Java中允许定义一个父类的引用,指向子类对象 B.  在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类 ...

  4. centos下如何使用sendmail发送邮件

    最近在实施服务端日志监控脚本,需要对异常情况发送邮件通知相关责任人,记录下centos通过sendmail发送邮件的配置过程. 一.安装sendmail与mail 1.安装sendmail:  1) ...

  5. 高德地图添加marker及反地理编码获取POI

    项目中集成百度.高德.腾讯地图已是司空见惯的事情,今天我总结了一下项目中用到的高德地图常用的功能: 1.展示高德地图并定位显示定位图标: 2.添加实时大头针: 3.反地理编码获取周围兴趣点 效果如下: ...

  6. Spring Boot + Spring Cloud 构建微服务系统(九):配置中心(Spring Cloud Config)

    技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多.此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启, ...

  7. kubernetes1.13之后的kubeadm init config

    1.kubernetes1.13之后kubeadm开始GA,由于1.13的kube-proxy有bug,删除ipvs的地方总是导致kube-proxy挂掉,所以建议直接用1.13.2,这个版本解决了b ...

  8. [转]Windows下配置Node.js和Cordova

    本文转自:https://blog.csdn.net/weixin_37730482/article/details/74388056?locationNum=3&fps=1 本文讲解在win ...

  9. Abp中自定义Exception的HttpStatusCode

    Abp中在新版本中,抛出的异常(比如:UserFriendlyException)通过AjaxResponse封装后返回的时候,HttpStatusCode默认指定成了500. 对于一些默认封装好的处 ...

  10. ECMAScript 引用类型

    Object对象 新建对象 var obj = new Object() var obj ={} var obj={age:23} ... hasOwnProperty(property) 方法 va ...