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文件中去配置数据库,如下:

Django中ORM的基本使用教程

然后就需要打开我们的sqlite数据库文件看看了,这里,我们如果使用pycharm,可以按如下操作:

点击侧边那里

Django中ORM的基本使用教程

选择类型

Django中ORM的基本使用教程

点击图标

Django中ORM的基本使用教程

找到sqlite3文件然后应用。

Django中ORM的基本使用教程

此时发现:

Django中ORM的基本使用教程

中并没有user表,这时,我们需要再执行两条终端命令:

打开终端

Django中ORM的基本使用教程

第一条命令: python manage.py makemigration
第二条命令: python manage.py migrate

然后刷新:

Django中ORM的基本使用教程

就可以看到表格了,双击就可以进行编辑啦!!!

来源:https://www.cnblogs.com/JonnyJiang-zh/p/14170202.html

标签:django,ORM,使用
0
投稿

猜你喜欢

  • 不通过数据源名DSN也能访问Access数据库吗?

    2009-10-29 12:22:00
  • pytorch实现线性拟合方式

    2021-12-30 01:50:32
  • python3下实现搜狗AI API的代码示例

    2022-04-11 09:30:58
  • 图片格式与设计那点事儿

    2011-01-06 12:17:00
  • BP神经网络原理及Python实现代码

    2022-09-04 21:12:24
  • 详解Django中CSRF和CORS的区别

    2021-02-19 19:16:51
  • Pandas聚合运算和分组运算的实现示例

    2023-11-10 03:49:14
  • Python3使用tesserocr识别字母数字验证码的实现

    2021-02-16 11:51:26
  • 如何基于Python制作有道翻译小工具

    2023-10-01 21:00:58
  • 异步完成后新开窗口

    2010-04-06 12:37:00
  • python使用KNN算法识别手写数字

    2022-02-20 10:48:23
  • Python中Pyenv virtualenv插件的使用

    2021-10-25 08:07:19
  • Django模板导入母版继承和自定义返回Html片段过程解析

    2023-06-16 21:13:38
  • Python heapq使用详解及实例代码

    2023-03-07 14:36:56
  • Python 实现劳拉游戏的实例代码(四连环、重力四子棋)

    2022-09-16 00:07:30
  • AJAX实现延时顺序请求多个URL

    2007-12-06 18:32:00
  • 带你从内存的角度看Python中的变量

    2021-02-13 13:27:50
  • Python参数解析模块sys、getopt、argparse使用与对比分析

    2021-12-19 17:39:58
  • SQL SERVER数据库开发之asp存储过程应用

    2008-05-19 12:55:00
  • matplotlib画混淆矩阵与正确率曲线的实例代码

    2021-09-21 05:41:10
  • asp之家 网络编程 m.aspxhome.com