django自带orm妙用
django对数据库数据进行处理方式通常有以下几种方式:
1、使用原生sql对数据库进行处理:pymysql,cx_oracle
2、使用外置orm模块来对数据库进行处理:sqlalchemy
3、使用django自带的orm模型来处理
1、2、两种方式这里不做介绍 ,有兴趣可以晚上自学,我们着重讲解3
django项目中,通常写脚本对数据库数据进行填充时我个人会采用原生sql来对数据库数据进行处理(之前觉得最简单),但是最近我发现了一种更好的方案,那就是笔者提出的方案3
之前我一直认为该方案无法实现,最近查看同事的代码中竟然发现了该方案,反复查阅,并测试后,发现了django的博大精深,遂奋笔疾书,方便还在使用原生sql的同志们进行探讨与学习,废话不多说。直接上代码:
import os
import django if __name__ == '__main__':
# 配置默认配置文件地址,初始化django环境时需要使用到配置文件
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "AIMS.settings")
# 初始化django环境
django.setup()
from basedata import models data = models.Organ_organization.objects.all()
for i in data:
print(i.name)
通过以上方式后,可以直接导入django的models模型,既可以使用orm的所有方法。
ps:该方法有局限性,就是必须配置在需要操作的django项目之下。
django自带orm妙用的更多相关文章
- Django中的ORM进阶操作
		
Django中的ORM进阶操作 Django中是通过ORM来操作数据库的,通过ORM可以很easy的实现与数据库的交互.但是仍然有几种操作是非常绕也特别容易混淆的.于是,针对这一块,来一个分类总结吧. ...
 - 在Django中使用ORM创建图书管理系统
		
一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等 ...
 - Django自带的用户认证auth模块
		
一.介绍 基本上在任何网站上,都无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能. 使用Django,我们可以不需要自己写这些功能,因为Dj ...
 - Django 自带认证功能auth模块和User对象的基本操作
		
一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate() ...
 - django中的ORM介绍和字段及字段参数
		
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
 - django基础 -- 5.   ORM  数据库操作
		
一. ORM 对象关系映射 类 ------ 表 类对象 ------ 记录 类属性 ------ 字段 二. 连接数据库配置 1.在 setting.py 文件中重新设置 ...
 - Django之模型ORM
		
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
 - Django框架 之 ORM查询操作详解
		
Django框架 之 ORM查询操作详解 浏览目录 一般操作 ForeignKey操作 ManyToManyField 聚合查询 分组查询 F查询和Q查询 事务 Django终端打印SQL语句 在Py ...
 - Django模型系统——ORM
		
一.概论 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描 ...
 
随机推荐
- 一步步教你用Prometheus搭建实时监控系统系列(一)——上帝之火,普罗米修斯的崛起
			
上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本 ...
 - Invalid RNPermission 'ios.permission.xxx'. should be one of: ( )
			
原因可能是配置配置问题, 我碰到的是Android上完美运行,iOS报错,原因是前期用的Android开发,iOS的配置项没有配完整 按照官方配置一遍 https://github.com/react ...
 - 【Unity3D】简单常用的功能实现1——鼠标点击实现移动
			
[鼠标点击实现移动] 第一步,在要移动的GameObject的Inspector面板中添加角色控制器组件并调整参数. 参数的调整可以依照Scene面板,如下图的绿色线框(角色控制器组件是一种胶囊形状的 ...
 - Git常用命令及方法大全
			
下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 本地 ...
 - 各版本arm-gcc区别与安装【转】
			
转自:https://www.jianshu.com/p/fd0103d59d8e arm-linux-gcc.arm-none-eabi-gcc.arm-eabi-gcc.arm-none-linu ...
 - matplotlib示例
			
plt.plot 内只有一个列表示例 import matplotlib.pyplot as plt lst = [4.53,1.94,4.75,0.43,2.02,1.22,2.13,2.77] p ...
 - 线程_gevent自动切换CPU协程
			
import gevent def f(n): for i in range(n): print (gevent.getcurrent(), i) # gevent.getcurrent() 获取当前 ...
 - PHP array_fill() 函数
			
------------恢复内容开始------------ 实例 用给定的键值填充数组: <?php$a1=array_fill(3,4,"blue");print_r($ ...
 - PHP utf8_encode() 函数
			
定义和用法 utf8_encode() 函数把 ISO-8859-1 字符串编码为 UTF-8.高佣联盟 www.cgewang.com Unicode 是全球标准,已经发展到能够通过每个字符/符号的 ...
 - PHP levenshtein() 函数
			
实例 计算两个字符串之间的 Levenshtein 距离: <?php echo levenshtein("Hello World","ello World&quo ...