Django day03 orm介绍
一:orm介绍
就是对象关系映射,python当中的类能够对应到数据库当中的某一个表(一个类对应一个表),一个类的对象对应着数据库中的一条记录,类当中的某个字段对应着数据库当中表的字段,字段拥有不同的类型(可以是主键,可以为空等等),后面对应的东西又是一个类,类里面又可以传一些东西,来标注它是不是主键以及他的类型是什么 就目前来说,对我们最重要的是以下几点:
-views.py (视图函数) [最核心的文件都是在这里面写]
-models.py (对象关系的映射)
-urls.py (路由关系)
-其余的是对settings.py的配置 [简单关注一下]二: 在 Navicat Premium 数据库中打开并查看保存的数据
1.分别在这两个文件中修改一些个人数据信息,
图1: 在 _init_.py 调用要使用的数据库
图2: 在 settings.py 中修改用户信息和要使用的数据库
如下图:![]()
2. 记录数据库的修改记录
1)正常情况下在Terminal中输入: python3 manage.py makemigrations
2)也可以在(如图)Tools --> run manage.py Task 敲命令 --> makemigrations 或者输入快捷键 Ctrl + Alt + R3)在命令行输入 migrations 后会在 migrations 文件夹里出现一个 0001_inital.py 文件,里面是一个记录数据库的修改记录,并没有吧数据同步到数据库里,文件内容是这个样子的,如图:
3. 同步记录到数据库
1)正常情况下在Terminal中输入: python3 manage.py migrate
2)同理,在Tools --> run manage.py Task 敲命令 --> migrate
3)在命令行输入 migrate 后会帮我们创建一些表,还有一些其他app的表,创建完成的表放在了 db.sqlite3 里面
4)打开方式:右边角点击(Database) --> 点击弹出的窗口左上角的小加号 --> 点击Data Source --> 点击Sqlite 进去后的界面如下图,完成三个步骤后点击OK, 即可,这个是在PyCharm文件中打开的数据库,着重关注: migrations这个文件夹千万千万千万别删掉,虽然能找回来,但也会被老板骂死,如果数据较为庞大,就不能找回所有数据,所以,如果不小心删了,就...跑路吧 23333
4. 完成以上操作后打开 Navicat Premium 数据库,找到自己设置的文件名找到保存的表即可,注意:文件名不能重名,否则就打不开了,不要轻易修改表名,让它默认生成,好做区分
三: orm 能和不能干的事
1. 能创建数据表,新增和修改,删除字段
注意:
1)以后要在数据库中进行增删改,一旦用了 orm 创建, 就都要在 orm 中创建,在数据库中修改只能改数据, 其它的字段,表,增删改等等,只能通过 orm 来处理2)数据传入之后不要急着运行,执行Tools命令后
2. 不能创建数据库
四: id name password 介绍
id: id = models.AutoField(primary_key=True)
创建了这个类之后,如果数据库迁移,他就会在数据库里做出一个表,数据库当中的某一个字段还有一些属性,比如说它是什么类型的,可不可以为空,如果不把这些东西定义成一个类的对象的话,没有什么东西可以表达出 AutoField(primary_key=True) 的属性,所以定义了一个类,类里面可以传一些属性,来标志这个(AutoField)类 name: name = models.CharField(max_length)
这是一个字段, 第一AutoField是自增的,其次primary_key=True是一个主键,id对应了一个类的对象,CharField对应到数据库是一个varchar类型,它对应的长必须要传一个长度,不然就会报错 password: password = models.CharField(max_length=32)
同理创建password,这样只是创建一个表,已及写了这些字段,对数据库没有任何的影响,所以我们要进行数据库的迁移,这样才能把数据同步到数据库里
1) 连接mysql数据库,连接mysql数据库需要在settings中做一些配置,通过反射去settings中找DATDINE,在Django当中大量的运用到了反射和元类
2) 新建app没有在 _init_ 里面做配置,程序也能运行,但是到了程序迁徙就会报错,app如果没有注册,执行迁徙的命令就不行了,不知道你用哪个app创建的表查
Django day03 orm介绍的更多相关文章
- Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
- Django中ORM介绍和字段及其参数
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- Django中ORM介绍
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django中ORM介绍和字段及字段参数
Object Relational Mapping(ORM) 1 ORM介绍 1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对 ...
- Django中ORM介绍和字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django中ORM介绍和字段
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- django的orm介绍以及静态文件介绍
1 django中app的概念 大学:----------------- 项目 信息学院 ----------app01 物理学院-----------app02*强调:创建了app,要在配置文件中注 ...
- django中的ORM介绍和字段及字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
随机推荐
- python SQLALchemy连接数据库。
一.ORM与SQLALchemy简介 ORM 全程object Relational Mapping,对象关系映射.简单的说,ORM将数据库中的表与面向对象中的类建立了一种对应关系.这样在操作数据库时 ...
- Boolean对象与Boolean原始值的区别
我们先来看下面这道题: var x = new Boolean(false); if (x) { alert('hi'); } var y = Boolean(0); if (y) { ale ...
- Servlet+JSP(三):第一个Web程序
Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...
- centOS防火墙
默认防火墙firewall #停止firewall systemcl stop firewall.service #禁止firewall开机启动 systemctl disable firewall. ...
- discourse论坛迁移
在源设备的操作备份数据文件tar -czvf discoursefile716.tar.gz /var/discourse然后把此discoursefile716.tar.gz文件传到需要迁移的设备上 ...
- SGC强制最低128位加密,公钥支持ECC加密算法的SSL证书
Pro SSL证书,验证企业域名所有权和企业身份信息,采用SGC(服务器门控)技术强制128位以上至256位加密,属于企业OV验证级专业版(Pro) SSL证书:即使用户使用低版本浏览器(比如浏览 ...
- 【codeforces 797C】Minimal string
[题目链接]:http://codeforces.com/contest/797/problem/C [题意] 一开始,给你一个字符串s:两个空字符串t和u; 你有两种合法操作; 1.将s的开头字符加 ...
- (38)Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot】
[本文章是否对你有用以及是否有好的建议,请留言] 在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而访问到另外 ...
- Solr插件的弊端
在前文<Solr Update插件自定义条件索引>中,我介绍了如何通过插件的模式,自定义Solr的Update过程.但是在大半年的使用过程中,发现这种方式存在如下弊端. 1.环境难以维护. ...
- Fedora15下安装Android开发环境
Fedora15下安装Android开发环境需要以下步骤: 完整步骤. 1. 安装正确版本的JDK. 2. 安装Eclipse. 3. 安装ADT. 4. 安装Android SDK. 5. 安 ...
二: 在 Navicat Premium 数据库中打开并查看保存的数据

3)在命令行输入 migrations 后会在 migrations 文件夹里出现一个 0001_inital.py 文件,里面是一个记录数据库的修改记录,并没有吧数据同步到数据库里,文件内容是这个样子的,如图:
3. 同步记录到数据库
这个是在PyCharm文件中打开的数据库,着重关注: migrations这个文件夹千万千万千万别删掉,虽然能找回来,但也会被老板骂死,如果数据较为庞大,就不能找回所有数据,所以,如果不小心删了,就...跑路吧 23333
4. 完成以上操作后打开 Navicat Premium 数据库,找到自己设置的文件名找到保存的表即可,注意:文件名不能重名,否则就打不开了,不要轻易修改表名,让它默认生成,好做区分
三: orm 能和不能干的事
2)数据传入之后不要急着运行,执行Tools命令后