Django之单表查询数据库操作

在Django中,数据库的查询方法非常多,而且用法非常灵活,下面总结几个常用的用法:

1、获取数据库全部信息:

           model对象.objects.all()

2、根据条件获取某一个数据(注意: 这种方法只能获取一个 如果有多个内容符合条件就会报错)

          model对象.objects.get(条件)

3、根据条件获取一组数据(注意:这种方法获取到的是一个可迭代的对象, 要想在html中渲染出来,需要for循环)

          model对象.object.filter(条件)

4、获取除设置条件之外的数据

      model对象.objects.exclude(条件)

5、查询字段

      model对象.objects.values(字段)(看下面代码比较好理解)

6、排序(默认正序排序,若想倒序, 只需在排序字段之前加一个负号 " - ")

     model对象.objects.filter(条件).order_by(排序字段)

7、添加一条内容

      model对象.objects.create(添加内容)

8、链式查询

     model对象.objects.all().filter(条件一).filter(条件二)

9、计数

     model对象.objects.filter(条件)count(条件)

还有模糊查询的很多用法  就不在这里说了   大家想学习的可以去别的大神的博客中看一下

10 模糊查询

      属性__contains == 值 :  某个属性中是否包含这个值

      属性__startswith == 值 : 某个属性是否已这个值开头   

      属性__endswith == 值 : 某个属性是否已这个值结尾   

11 运算查询

某个属性的内容是否等于一个值   可以直接用 == 但是大于  小于  大于等于  小于等于  需要专门方法

gt: 大于   属性__gt = 值   某个属性值是否大于这个值

gte: 大于等于   属性__gte = 值   某个属性值是否大于等于这个值

lt: 小于   属性__lt = 值   某个属性值是否小于这个值

lte: 小于等于   属性__lte = 值   某个属性值是否小于等于这个值

 

事先准备的数据库:

1、获取数据库全部信息:

           model对象.objects.all() :查询数据库中所有数据

2、根据条件获取某一个数据(注意: 这种方法只能获取一个 如果有多个内容符合条件就会报错)

          model对象.objects.get(条件) :  查询数据库中 name是叶修的人

3、根据条件获取一组数据(注意:这种方法获取到的是一个可迭代的对象, 要想在html中渲染出来,需要for循环)

          model对象.object.filter(条件):    查询数据库中所有的女性角色

4、链式查询

     model对象.objects.all().filter(条件一).filter(条件二) Python中推荐一行代码  所有Django中有链式查询  比较符合Python风格

     查询是女性且来自于《全职高手》小说的角色

 

5、获取除设置条件之外的数据

      model对象.objects.exclude(条件):    查询数据库中所有的非女性角色

6、查询字段 

      model对象.objects.values(字段)(看下面代码比较好理解):   查询数据库内容的 name  gender  source字段

7、排序(默认正序排序,若想倒序, 只需在排序字段之前加一个负号 " - ")

     model对象.objects.filter(条件).order_by(排序字段)

     正序:按年龄大小从小到大排序

7、1 倒序:  按年龄大小倒序排序

8、添加一条内容

      model对象.objects.create(添加内容) 

9、计数

     model对象.objects.filter(条件)count(条件): 查询数据库中女性角色的个数

 

 

10  模糊查询

  10.1  __contains:  startswith与endswith就不演示了

11  运算符查询   gte与lte就不演示了

  11.1  __gt

 

 

 11.2  __lt

 

 

 

 

 

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django自带的ORM是一个Python对象关系映射工具,它可以让开发者使用Python语言进行数据库操作,而不需要手写SQL语句。 使用Django自带的ORM进行数据库操作的步骤如下: 1. 定义模型类:在Django应用的models.py文件中定义模型类,其中每个模型类对应一个数据库表。 2. 进行迁移:运行python manage.py makemigrations命令生成数据库迁移文件,再运行python manage.py migrate命令将模型类映射到数据库表。 3. 进行CRUD操作:使用模型类提供的方法进行数据库的增删改查操作,如: - 创建对象:使用模型类的save()方法或create()方法创建新的数据库记录。 - 查询对象:使用模型类的objects属性进行查询,可以使用filter()、get()、all()等方法进行过滤和排序。 - 更新对象:使用模型类的save()方法或update()方法更新数据库记录。 - 删除对象:使用模型类的delete()方法删除数据库记录。 示例代码: ```python # 定义模型类 from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) price = models.DecimalField(max_digits=5, decimal_places=2) pub_date = models.DateField() is_published = models.BooleanField(default=True) # 创建对象 book = Book(title='Python入门', author='张三', price=29.99, pub_date='2022-01-01') book.save() # 查询对象 books = Book.objects.filter(author='张三').order_by('-price') for book in books: print(book.title, book.price) # 更新对象 book.price = 39.99 book.save() # 删除对象 book.delete() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值