python查询数据库语句大全_Django 查询语句汇总

本文详细介绍了如何在Django中使用Python对象进行数据库查询,包括创建、获取、修改、删除对象,以及过滤、限制查询结果,还有如何处理ForeignKey和ManyToManyField。通过示例展示了如何使用filter(), exclude()等方法进行复杂查询,并讲解了如何更新和删除对象,以及处理关系对象。" 19993169,1155579,使用PowerDesigner自定义生成高效数据库说明书,"['数据库设计', '文档生成', '模型规范', '软件工程', '数据建模']
摘要由CSDN通过智能技术生成

1.1.1 生成查询

你创建完数据模型,django会自动提供给你数据库抽象的API,可以创建、获取、修改、删除对象,本篇文档讲解如何使用API。

我们参考下面模型,一个weblog:

#博客class Blog(models.Model):

name = models.CharField(max_length=100)

tagline = models.TextField()    def __unicode__(self):        return self.name#作者class Author(models.Model):

name = models.CharField(max_length=50)

email = models.EmailField()    def __unicode__(self):        return self.name#目录class Entry(models.Model):

blog = models.ForeignKey(Blog)

headline = models.CharField(max_length=255)

body_text = models.TextField()

pub_date = models.DateTimeField()

authors = models.ManyToManyField(Author)

n_comments = models.IntegerField()

n_pingbacks = models.IntegerField()

rating = models.IntegerField()    def __unicode__(self):        return self.headline

1.1.2 创建对象

用python对象描述数据库表的数据,django使用一个直观的系统,一个模型类描述一个数据表,一个类的实例描述表的一条详细记录。使用模型的save()方法将对象创建到数据库。

from mysite.blog.models import Blog

b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')

b.save()

只有执行save方法时,django才会执行sql把对象写入数据库。

1.1.3 保存修改的对象

保存修改仍然使用save()方法

b5.name = 'New name'b5.save()

1.1.4 保存 ForeignKey 和 ManyToManyField 字段

cheese_blog = Blog.objects.get(name=== Author.objects.create(name=

1.1.5 检索对象

从数据库里检索对象,可以通过模型的Manage来建立QuerySet,一个QuerySet表现为一个数据库中对象的结合,他可以有0个一个或多个过滤条件,在SQL里QuerySet相当于select语句用where或limit过滤。你通过模型的Manage来获取QuerySet,每个模型至少有一个Manage

1.1.6 检索所有的对象

检索表中所有数据,最简单的方式是用all().

all_entries = Entry.objects.all()

1.1.7 过滤检索特定对象

检索过滤特定查询结果,有两个方法。

filter(**kwargs) 返回一个新的匹配查询参数后的QuerySet

exclude(**kwargs) 返回一个新的不匹配查询参数后的QuerySet

Entry.objects.filter(pub_date__year=2006)

1.1.8 链接过滤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值