Django - ORM创建基本类
DBFirst
CodeFirst
创建类
1、根据类自动创建数据库表
在app下的models.py中创建表
创建数据库之前,需要在django下的setting.py模块中的INSTALLED_APPS中,添加要创建表的app名称;
在app目录下的models.py中,增加代码:

在pycharm命令行中,在Terminal执行命令:
python manage.py makemigrations,执行成功后,会生成下述文件,该文件存储数据库临时文件。

执行命令:python manage.py migrate,执行成功后,会直接生成数据库表。

Django默认数据库为sqlite,如需要修改数据库,可以在settings.py下的databases中修改;
修改方法,参见博客:
http://www.cnblogs.com/wupeiqi/articles/5237704.html
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
注意:在django中,默认连接mysql 时,使用mysqldb,在python3时,该模块已经换为pymysql,所以,需要在
__init__.py中,增加代码:
import pymysql
pymysql.install_as_MYSQLdb()
#当成是mysqldb一样使用
2、根据类对数据库表中的数据进行各种操作
1)、在创建的sqlite中增加数据
在cmdb的urls.py中,增加url和函数对应关系;

在cmdb下的views.py中,增加代码(创建一条记录时,有2种方法):

在url中,以get方式访问:http://127.0.0.1:8000/cmdb/orm/后,程序会在sqlite中,增加数据;

备注:
创建数据时,还支持以下这方式,该方式可以理解为第一种方式的一个变种:

2)、在sqlite中查找数据

备注:以上查找到的row,为一个queryset对象,所以,显示各列中的值时,需要用对象.值的方式来显示;



Django - ORM创建基本类的更多相关文章
- Python Django ORM创建基本类以及生成数据结构
#在项目目录下的modules.py中创建一个类,来自动生成一张表UserInfo class UserInfo(models.Model): username = models.CharField( ...
- Django ORM创建数据库
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- django ORM创建数据库方法
1.指定连接pymysql(python3.x) 先配置_init_.py import pymysql pymysql.install_as_MySQLdb() 2.配置连接mysql文件信息 se ...
- django ORM创建
简短的例子 from django.db import models class Person(models.Model): first_name = models.CharField(max_len ...
- 在Django中使用ORM创建图书管理系统
一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等 ...
- Django中ORM创建表关系
一:django中ORM创建表关系 ORM创建外键关系 1.表与表之间的关系 1.表与表之间的关系 一对多 一对一 多对多 2.操作目标条件: 图书表 出版社表 作者表 作者详情表 3.外键关联 一对 ...
- django orm总结[转载]
django orm总结[转载] 转载地址: http://www.cnblogs.com/linjiqin/archive/2014/07/01/3817954.html 目录1.1.1 生成查询1 ...
- Django ORM 查询管理器
Django ORM 查询管理器 ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言 ...
- Django ORM模型的一点体会
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...
随机推荐
- android_handler(一)
仅仅是一个简单的handler的样例,目的就是对handler有一个初步的接触. 在layout上加入一个button,点击按钮,然后打印出利用handler传送的数据.(都是执行在mainthrea ...
- 【Ubuntu】某灯图标过大
发现某灯在桌面上图标过大,点击resize拖动没反应,遂查找原因 发现是它图标只有128x128的版本,所以显得比别的图标大 打开lantern.desktop(不知道.desktop请看https: ...
- 【树剖求LCA】树剖知识点
不太优美但是有注释的版本: #include<cstdio> #include<iostream> using namespace std; struct edge{ int ...
- 通过adb push 从电脑里复制文件到手机里
在开发中.我们 常常 须要 从 电脑 拷贝 一些 文件 到 自己的 app 目录里. 我之前的 方式 是 将 手机 链接 电脑,然后 从 电脑里 找到 app 文件夹,然后 进行 拷贝. 可是 这种 ...
- JavaScript Patterns 2.4 For-in loop
Principle Enumeration should be used to iterate over nonarray objects. It's important to use the met ...
- ZOJ 1860:Dog & Gopher
Dog & Gopher Time Limit: 2 Seconds Memory Limit: 65536 KB A large field has a dog and a gop ...
- TeeChart绘图控件 - 之三 - 提高绘图的效率 .
TeeChart是个很强大的控件,其绘图能力之强,其他控件难以比拟,但是有个问题就是他的绘图速度,其实TeeChart绘图速度还是很快的,只是大家一直都没正确运用其功能所以导致绘图速度慢的假象. 下面 ...
- PCB MS SQL 标量函数(CLR) 实现DataTable转HTML的方法
一.准备需转为HMLT字符串的DataTable数据 在数据库中执行一段SQL返回的数据 需转换后的HTML的文本 <html ><head></head>< ...
- BZOJ 4310 二分+SA+RMQ
思路: 首先求出后缀数组和height数组,这样能得到本质不同的子串数目 这里利用:本质不同的子串=∑(Len−SA[i]−height[i])=∑(Len−SA[i]−height[i])利用SA[ ...
- ACM_三角形蛇形矩阵
三角形蛇形矩阵 Time Limit: 2000/1000ms (Java/Others) Problem Description: 小铠觉得各类题型是要温故而知新的,所以他叫小发出一道类似做过的题. ...