django数据库基本操作-增删改查(tip)-基本

1、插入数据

1 Python代码
2 >>> from books.models import Publisher
3 >>> p1 = Publisher(name=‘Apress‘, address=‘2855 Telegraph Avenue‘,
4 ...     city=‘Berkeley‘, state_province=‘CA‘, country=‘U.S.A.‘,
5 ...     website=‘http://www.apress.com/‘)
6 >>> p1.save()  
1 >>> from books.models import Publisher
2 >>> p1 = Publisher(name=‘Apress‘, address=‘2855 Telegraph Avenue‘,
3 ...     city=‘Berkeley‘, state_province=‘CA‘, country=‘U.S.A.‘,
4 ...     website=‘http://www.apress.com/‘)
5 >>> p1.save()  

2、查询

1 Python代码
2 >>> Publisher.objects.all()
3 [<Publisher: Apress>, <Publisher: O‘Reilly>]  
1 [python] view plain copy
2 >>> Publisher.objects.all()
3 [<Publisher: Apress>, <Publisher: O‘Reilly>]  

获取单个对象:

1 Python代码
2 >>> Publisher.objects.get(name="Apress")
3 <Publisher: Apress>  
1 [python] view plain copy
2 >>> Publisher.objects.get(name="Apress")
3 <Publisher: Apress>  

如果结果是多个对象或者没有返回结果则会抛出异常

3、条件

筛选:

1 Python代码
2 >>> Publisher.objects.filter(name=‘Apress‘)
3 [<Publisher: Apress>] 
1 >>> Publisher.objects.filter(name=‘Apress‘)
2 [<Publisher: Apress>]  
1 Python代码
2 >>> Publisher.objects.filter(name__contains="press")
3 [<Publisher: Apress>]  
1 [python] view plain copy
2 >>> Publisher.objects.filter(name__contains="press")
3 [<Publisher: Apress>] 

__contains部分会被Django翻译成LIKE语句

排序:

1 Python代码
2 >>> Publisher.objects.order_by("name")
3 [<Publisher: Apress>, <Publisher: O‘Reilly>
1 python] view plain copy
2 >>> Publisher.objects.order_by("name")
3 [<Publisher: Apress>, <Publisher: O‘Reilly>]  

相当于 order by name asc

1 Python代码
2 >>> Publisher.objects.order_by("-name")  
1 [python] view plain copy
2 >>> Publisher.objects.order_by("-name") 

加个负号相当于 order by name desc

限制返回数据:

1 Python代码
2 >>> Publisher.objects.order_by(‘name‘)[0]
3 <Publisher: Apress>  
1 [python] view plain copy
2 >>> Publisher.objects.order_by(‘name‘)[0]
3 <Publisher: Apress>

相当于 limit 1

1 Python代码
2 >>> Publisher.objects.order_by(‘name‘)[0:2]  
1 [python] view plain copy
2 >>> Publisher.objects.order_by(‘name‘)[0:2]  

相当于 OFFSET 0 LIMIT 2

4、更新

1 Python代码
2 >>> Publisher.objects.filter(id=52).update(name=‘Apress Publishing‘)  
1 [python] view plain copy
2 >>> Publisher.objects.filter(id=52).update(name=‘Apress Publishing‘)  
1 Python代码
2 >>> p = Publisher.objects.get(name=‘Apress‘) #先查询
3 >>> p.name = ‘Apress Publishing‘ #更新
4 >>> p.save()  #保存  
1 [python] view plain copy
2 >>> p = Publisher.objects.get(name=‘Apress‘) #先查询
3 >>> p.name = ‘Apress Publishing‘ #更新
4 >>> p.save()  #保存  

5、删除

1 Python代码
2 >>> p = Publisher.objects.get(name="O‘Reilly")
3 >>> p.delete()  
1 [python] view plain copy
2 >>> p = Publisher.objects.get(name="O‘Reilly")
3 >>> p.delete()  
1 Python代码
2 >>> Publisher.objects.filter(country=‘USA‘).delete() 
1 [python] view plain copy
2 >>> Publisher.objects.filter(country=‘USA‘).delete()  
时间: 2024-10-18 15:11:32

django数据库基本操作-增删改查(tip)-基本的相关文章

Django数据库的增删改查

通过一个实例学习Django数据库的增删改查 Django - 路由系统 url.py - 视图函数 views.py - 数据库操作 models.py - 模板引擎渲染 - HttpReponse(字符串) - render(request,'/path/a.html',{'name':'root'}) 一.示例:用户基本CURD 1.数据库设计 id hostname ip port status 2.功能的实现 创建  project (pycharm) django-admin sta

Django数据库基本增删改查操作

urls.py文件里的内容---实现url路由 from django.contrib import admin from django.urls import path,include from app01 import views urlpatterns = [ path('credata/', views.credata), ] views.py文件里方法定义 from django.shortcuts import HttpResponse import pymysql pymysql.

转: django数据库操作-增删改查-多对多关系以及一对多(外键)关系

原文链接:http://blog.csdn.net/u010271717/article/details/22044415 一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model代码: [python] view plain copy class Person(models.Model); name = models.CharField('作者姓名', max_length=10) age = models.IntegerField('作者年龄') class Book(m

django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面

1.为test.DB数据库预先创建下面数据 1    张三    16    2015-01-02    12    李四    17    2015-01-04    13    王五    14    2015-04-24    0 2.配置C:\djangoweb\helloworld\blog\urls.py文件 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url urlpatterns

TP框架中 数据库的增删改查

框架会用到数据库的内容,这一篇就是关于数据库的增删改查. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作, 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 我这里是这样的文件路径 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中(父类的conv

ADO.NET实现对SQL Server数据库的增删改查

了解了上一篇的ADO.NET简介,我们就可以来对数据库进行增删改查等基本操作了!下面是每种操作的具体实现. 先在自定义类的头部定义好数据库连接对象和连接字符串: 1 string connectionString = "Data Source=SC-201607131829;Initial Catalog=Animal;Integrated Security=True"; 2 3 SqlConnection conn; 1.数据库的查询操作,返回一个DataSet 1 public D

django-13.操作数据库(增删改查)

django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢?本篇详细讲解django操作mysql数据库 新增数据 接着前面数据库User表创建成功后,如果我们在页面上注册用户的话,就需要在User表新增一条数据比如,我们想在User表插入一组数据 user_name=yoyo5, psw=555555 在urls.py同一目录(helloworld/helloworld/testdb.py)新建一个te

Django rest_framework实现增删改查接口

目录 Django rest_framework实现增删改查接口 写接口前的知识准备 __all__的使用方法 序列化类配置 Response二次封装 连表深度查询 单查群查接口 单删群删接口 单增,群增接口 整体单改群改接口 局部修改数据 视图给序列化传参 Django rest_framework实现增删改查接口 本文使用Django的rest_framework框架的ModelSerializer模块和ListSerializer模块实现单查群查.单删群删.单增群增.单改群改接口. 写接口

【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查

这篇文章有很多槽点,在Hibernate4.x上面用着Hibernate3.x的写法去写.而且程序中放到Eclipse中会有一大堆警告,但是这好歹也在一定程度上完成了Hibernate的入门.毕竟现在很多介绍Hibernate的书籍都是用Hibernate3.x的写法去写.上次那篇<[Hibernate]最简单的Hibernate工程--账号注册系统>(点击打开链接)杂糅Struts的技术其实是不对的.因为Hibernate完成的是,从Java到数据库,从数据库到Java的任务.之后Java与