Django中ORM的基本使用教程
作者:JonnyJiang-zh 发布时间:2021-09-10 00:35:46
前言
Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架
到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞:
创建数据库,设计表结构和字段
使用 MySQLdb 来连接数据库,并编写数据访问层代码
业务逻辑层去调用数据访问层执行数据库操作
ORM
orm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表:
类 --> 表,
对象-->一行数据
对象的属性-->一行属性的一个字段
比如说一个用户信息表:
class User:
def __init__(self,name,age):
self.name = name
self.age = age
这样我们就定义了一个类,有name和age属性,之后我们每创建一个对象都有一个自己的name和age值,就好比我们创建了一个表格,有name和age字段,每一行数据都有自己的name和age。
那么我们怎么在Django中应用呢,首先,Django使用了MVT模型,即:模型、视图、模板,相较于MVC(模型-视图-控制器)而言,其中MVT中的T(templates)和MVC中的V(views)都表示一种可以看得见的一种数据渲染图,而MVT(views)和MVC中的C(controls)都表示一种逻辑,即当浏览器请求的时候服务器该怎么返回数据,最后,MVT中的M(models)和MVC中的M(models)都表示数据存储部分,即数据库。
于是,如果我们需要创建表格就要创建类,就要在modles.py中创建,如下:
from django.db import models
# Create your models here.
class User(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
其中CharFiled相当于数据库中的varchar,与之对应的还要Decimal、Datatime等等。
接下来就是我们要把数据存储在哪个数据库了,好在Django自己生成了一个 db.sqlite3
文件,那么接下来我们就要去setting.py文件中去配置数据库,如下:
然后就需要打开我们的sqlite数据库文件看看了,这里,我们如果使用pycharm,可以按如下操作:
点击侧边那里
选择类型
点击图标
找到sqlite3文件然后应用。
此时发现:
中并没有user表,这时,我们需要再执行两条终端命令:
打开终端
第一条命令: python manage.py makemigration
第二条命令: python manage.py migrate
然后刷新:
就可以看到表格了,双击就可以进行编辑啦!!!
来源:https://www.cnblogs.com/JonnyJiang-zh/p/14170202.html
猜你喜欢
- 尽管 xml.etree.ElementTree 库通常用来做解析工作,其实它也可以创建XML文档。 例如,考虑如下这个函数:from xm
- [PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化,
- 常用目标检测模型基本都是读取的PASCAL VOC格式的标签,下面代码用于生成VOC格式的代码,根据需要修改即可:from lxml imp
- 前言分水岭算法是用于分割的经典算法,在提取图像中粘连或重叠的对象时特别有用,例如下图中的硬币。使用传统的图像处理方法,如阈值和轮廓检测,我们
- 1.首先,打开python的官网:python.org2.首页downloads下打开,3.最上边是两个最新的版本,长期计划,推荐使用pyt
- 学习目的:掌握下拉列表框的用法,并理解AutoPostBack属性; 理解IsPoskBack及用法; 初识DataTable的
- 概述从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类
- 先来看看python的版本: >>> import sys >>> sys.version &a
- 这也是老早前整理的了,也贴出来吧:1. showModalDialog和showModelessDialog的异同
- pycharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。接下来小编来和大家分享下PyC
- 前期准备首先,使用Python内置的Turtle绘图库需要在程序前添加以下代码:import turtle也可以写成这样:from turt
- 前言在上一篇文章PyG搭建GCN前的准备:了解PyG中的数据格式中,大致了解了PyG中的数据格式,这篇文章主要是简单搭建GCN来实现节点分类
- 我就废话不多说了,大家还是直接看代码吧!#coding=utf-8import threadingimport timeimport cx_
- zip()的作用先看一下语法:zip(iter1 [,iter2 [...]]) —> zip objectPython的内置help
- 大家好,我是启航。本文将给大家分享一个实用的Python办公自动化脚本 「利用Python批量翻译英文Word文档并保留格式」,最终效果甚至
- 关于Keras中,当数据比较大时,不能全部载入内存,在训练的时候就需要利用train_on_batch或fit_generator进行训练了
- mongodb是基于分布式文件存储的nosql(非关系型)数据库虽说是nosqldb, but mongodb 其中的文档可以是关系型的在m
- 首先看一下来自Wolfram的定义 马尔可夫链是随机变量{X_t}的集合(t贯穿0,1,..
- 环境:numpy,pandas,python3在机器学习和深度学习的过程中,对于处理预测,回归问题,有时候变量是时间,需要进行合适的转换处理
- 物体跟踪效果展示 过程:一、初始化def Motor_Init(): global L_Motor, R