django专栏 search 09.Q查询

django专栏 search 09.Q查询,第1张

import os

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'idjango.settings')
    import django

    django.setup()
    from idea import models
    from django.db.models import Q

    # Q包裹后默认还是and关系,可以换成 | ,表示或  ~ 表示取反
    # 1.查询卖出数大于200,或价格小于28的书籍
    print(models.Book.objects.filter(Q(sale__gt=200), Q(price__lt=20)))
    # 
    print(models.Book.objects.filter(Q(sale__gt=200) | Q(price__lt=26)))
    # , , ]>

    # Q可以将用户通过搜索框输入的字符串,进行查询,而不是以变量的形式
    q = Q()
    q.children.append(('sale__gt', 1000))
    # 默认依然是and关系 可以修改为or
    q.connector = 'or'
    q.children.append(('price__lt', 28))
    print(models.Book.objects.filter(q))
    # , ]>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/580084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存