Django数据库操作的实例(增删改查)

yipeiwu_com6年前Python基础

创建数据库中的一个表

class Business(models.Model):
 #自动创建ID列
 caption = models.CharField(max_length=32)
 code = models.CharField(max_length=32)

1.增加

方法一

models.Business.objects.create(caption='市场部',code='123') 

方法二

obj = models.UserInfo(caption='市场部',code='123')
obj.save()

方法三

dic = {'caption':'市场部','code':'123'}
models.Business.objects.create(**dic)

2.删除

models.Business.objects.filter(id=1).delete()

查询方法见下方查询

3.更改

方法一

models.Business.objects.filter(id=1).update(code='hello')

方法二

obj = models.Business.objects.get(id=1)
obj.code = 'hello'
obj.save()

查询方法见下方查询

4.查询

获取全部

v1 = models.Business.objects.all()  #QuerySet类型,内部元素都是对象

获取指定

v2 = models.Business.objects.all().values("id","caption") #QuerSet类型,内部元素都是字典
v3 = models.Business.objects.all().values_list('id','caption') #QuerySet类型,内部元素都是元组
v4 = models.Business.objects.get(id=1) #获取一个队象,如果不存在就报错
v5 = models.Business.objects.filter(id=1) #QuerySet类型,内部元素是对象,id__gt=1获取所有id>1的数据,id__lt=10,获取所有id<10的数据
v6 = models.Business.objects.filter(id=1).first() #返回对象或者None

应用实例

business函数

def business(request):
 v1 = models.Business.objects.all()
 v2 = models.Business.objects.all().values("id","caption")
 v3 = models.Business.objects.all().values_list('id','caption')
 return render(request,"business.html",{"v1":v1,"v2":v2,"v3":v3})

 url(r'^business$',views.business)

business.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <ul>
  <h1>ALL</h1>
  {% for row in v1 %}
   <li>{{row.id}}-{{row.caption}}-{{row.code}}</li>
  {% endfor %}
 </ul>
 <ul>
  <h1>all.values</h1>
  {% for row in v2 %}
   <li>{{row.id}}-{{row.caption}}</li>
  {% endfor %}
 </ul>
 <ul>
  <h1>all.values_list</h1>
  {% for row in v3 %}
   <li>{{row.0}}-{{row.1}}</li>
  {% endfor %}
 </ul> 
</body>
</html>

以上这篇Django数据库操作的实例(增删改查)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Linux CentOS Python开发环境搭建教程

CentOS安装Python 1.CentOS已经自带安装了2.x版本,先尝试python命令检查已安装的版本.如果你使用rpm、yum或deb命令安装过,请使用相对命令查询。 2.复制...

python导入模块交叉引用的方法

实际项目中遇到python模块相互引用问题,查资料,终于算是弄明白了。 首先交叉引用或是相互引用,实际上就是导入循环,关于导入循环的详细说明,可见我摘自《python核心编程》第二版的摘...

Python插件virtualenv搭建虚拟环境

Python插件virtualenv搭建虚拟环境

这里想象一下需求,写一个项目使用的一系列1.0版本的插件,现在要新写一个项目,需要用这些插件的2.0版本,该怎么办?都更新成2.0版本?这样之前的项目都没法维护了 这时我们需要一个虚拟环...

django如何连接已存在数据的数据库

django如何连接已存在数据的数据库

你有没有遇到过这种情况? 数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办??? Django是最适合所谓的green-fie...

Python Tensor FLow简单使用方法实例详解

Python Tensor FLow简单使用方法实例详解

本文实例讲述了Python Tensor FLow简单使用方法。分享给大家供大家参考,具体如下: 1、基础概念 Tensor表示张量,是一种多维数组的数据结构。Flow代表流,是指张量之...