Django基础篇--Models
在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的更多相关文章
- 01: Django基础篇
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- 01:django基础篇
Django其他篇 目录: 1.1 django初探 1.2 第一个django项目 1.3 django render/redirect/HttpResponse 和 request.GET req ...
- python的django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
- python3之Django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
- Web框架django基础篇
基本配置及学习 路由(Urls).视图(Views).模板(Template).Model(ORM). 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开 ...
- django 基础篇
jdango 简介: 一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django,使你能够以 小的代价构建和维护高质量的Web应用. Python的WEB框架有Django.Tornad ...
- python 之 Django 基础篇
1,Django流程介绍 MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据 ...
- django基础篇
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- Django 基础篇(一)
创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...
随机推荐
- 影响 POST 请求文件上传失败的几个环节的配置(php + nginx)
写在前面 最近写一个 php 接口,接受上传的文件,发现文件只要超过 5m 以上就会无响应失败,最后发现是 shadowsocks 的 timeout 设置问题(我全程开了全局的 VPN),但一开始并 ...
- 机器学习技法笔记:03 Kernel Support Vector Machine
Roadmap Kernel Trick Polynomial Kernel Gaussian Kernel Comparison of Kernels Summary
- 安装和配置jBPM4,并举个hello.w
至于网上很复杂,但又不懂的插件,我们先不鸟他. myeclipse8\dropins这里就是给我们放插件的,类似SVN之类的.所以小生也修改了下,共享了下.只有放在目录下,打开应该可以的.下面是链接. ...
- PHP之高性能I/O框架:Libevent(三)
Swoole Swoole里也提供了一些直接操作底层epoll/kqueue事件循环的接口,可将其他扩展创建的socket.PHP代码中stream/socket扩展创建的socket等加入到Swoo ...
- Kafka项目实战-用户日志上报实时统计之分析与设计
1.概述 本课程的视频教程地址:<Kafka实战项目之分析与设计> 本课程我通过一个用户实时上报日志案例作为基础,带着大家去分析Kafka这样一个项目的各个环节,从而对项目的整体设计做比 ...
- 图像处理之Retinex增强算法(SSR、MSR、MSRCR)
视网膜-大脑皮层(Retinex)理论认为世界是无色的,人眼看到的世界是光与物质相互作用的结果,也就是说,映射到人眼中的图像和光的长波(R).中波(G).短波(B)以及物体的反射性质有关 其中I是人眼 ...
- 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.
一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...
- 升级mac Mojave系统,git无法使用
升级mac Mojave系统后 无法使用git,出现如下问题 xcrun: error: invalid active developer path (/Library/Developer/Comma ...
- 整合Spring和SpringMVC
1.Spring容器和SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器.因此,在SpringMVC容器中,可以访问到Spring ...
- csv文件格式说明
csv文件应用很广泛,历史也很悠久.有很多种类型的csv格式,常用的是rfc 4180定义的格式. csv文件包含一行或多行记录,每行记录中包含一个或多个字段.记录与记录之间使用换行符分隔,最后一个记 ...