模型类的增删改查,QuerySet详解

本文详细介绍了使用Django ORM进行数据库查询的各种技巧,包括基本的get、filter、exclude方法,以及如何使用Q对象进行复杂查询,例如组合条件、模糊查询等。通过实际代码示例,展示了如何高效地从数据库中检索特定数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 在控制台输入即可,后期开发项目不会使用这种方法



 

 

 

 

 

 

 

from user.models import *

    user1 = User.objects.get(id=1)
    print(user1)

user_s = User.objects.all()

    print('user_s的类型是:', type(user_s))

from user.models import *

    user_s = User.objects.filter(id=1)
    print('user_s的类型是:', type(user_s))
    print(user_s)
    user = user_s[0]
    print(user)

 from user.models import *

    # 查询id不为1的user对象
    user_s = User.objects.exclude(id=1)
    print(user_s)
from user.models import *

    # 没有被逻辑删除的User
    user1_s = User.objects.filter(isdelete=0)
    print(user1_s)
    user2_s = User.objects.filter(isdelete__exact=0)
    print(user2_s)
    # 查询余额大于等于1000的User对象
    user3_s = User.objects.filter(money__gte=1000)
    print(user3_s)
    # 查询生日为空的User对象
    user4_s = User.objects.filter(birthday__isnull=True)
    print(user4_s)

from user.models import *

    # 查询用户名中包含'1'的用户
    user1_s = User.objects.filter(username__contains='1')
    print(user1_s)
    # 查询用户名已以'name1'开头的用户
    user2_s = User.objects.filter(username__startswith='name1')
    print(user2_s)
    # 查询邮箱以'@qq.com'结尾的用户
    user3_s = User.objects.filter(email__endswith='@qq.com')
    print(user2_s)
  # 查询在第一次创建后,发生修改的对象
    user_s = User.objects.filter(updateDatetime__gt=F('createDatetime'))

    from user.models import *

    from django.db.models import Q

    # 查询余额大于5000块的男性
    print(User.objects.filter(money__gt=5000, gender=0))  # 第一种 逗号
    print(User.objects.filter(Q(money__gt=5000) & Q(gender=0)))  # 第二种 Q(【条件】)&Q(【条件】)
    # 查询余额大于5000块的男性和余额大于2000的女性
    print(User.objects.filter(Q(money__gt=5000, gender=0) | Q(money__gt=2000, gender=1)))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值