首页 > 其他 > 详细

Django学习路12_objects 方法(all,filter,exclude,order by,values)

时间:2020-05-09 19:21:03      阅读:88      评论:0      收藏:0      [点我收藏+]
Person.objects.all()
获取全部数据

def get_persons(request):

    persons = Person.objects.all()
    # 获取全部数据

    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

技术分享图片


使用 order_by  默认为 id 进行排序

def get_persons(request):

    persons = Person.objects.all().order_by("p_age")
    # 获取全部数据

    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

注:
order_by(" 列名 ") 列名写在引号中

技术分享图片


 

使用 filter 对表中元素进行筛选
符合条件的留下,  .filter(条件).filter(条件) 表示 两个条件都要满足

def get_persons(request):
    persons = Person.objects.filter(p_age__gt=30)
    ‘‘‘age 大于 30 的 ‘‘‘

    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

注:
filter 将满足条件的保存下来
gt 表示 大于 
lt 表示小于

技术分享图片

使用两个 filter 表示 且

def get_persons(request):
    persons = Person.objects.filter(p_age__gt=30).filter(p_age__lt=80)
    ‘‘‘.filter .filter 表示且‘‘‘
    # persons = Person.objects.filter(p_age__gt=30)
    ‘‘‘age 大于 30 的 ‘‘‘

    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

技术分享图片


 

exclude 表示不包含的,在条件之外的数据

def get_persons(request):
    persons = Person.objects.exclude(p_age__lt=30)
    ‘‘‘age 大于 30 的‘‘‘
    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

注:
条件 在这里是 p_age__lt=30 即表示 小于 30

技术分享图片


Person.objects.exclude(条件).exclude(条件)
表示 两个条件都不满足的数据

def get_persons(request):
    persons = Person.objects.exclude(p_age__lt=30).exclude(p_age__gt=80)
    ‘‘‘age 大于 30 的 , 小于 80 的,exclude 除了,不包含的意思 ‘‘‘
    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

技术分享图片

 

 


 

values 
获取 <QuerySet [{表中行元素},{表中行元素}, ....,{表中行元素}]>

很类似于 json 数据

def get_persons(request):
    persons = Person.objects.exclude(p_age__lt=30).exclude(p_age__gt=80)
    ‘‘‘age 大于 30 的 , 小于 80 的,exclude 除了,不包含的意思 ‘‘‘
    print(persons.values())
    context = {
        persons:persons
    #     传递到前端代码中
    }
    return render(request,person_list.html,context = context)

注:
只是添加了 persons.values() 
获取到的数据为 

<QuerySet [{id: 2, p_name: Hany_ 1, p_age: 31, p_sex: True}, {id: 5, p_name: Hany_ 4, p
_age: 78, p_sex: False}, {id: 7, p_name: Hany_ 6, p_age: 47, p_sex: True}, {id: 12, p_na
me: Hany_ 11, p_age: 77, p_sex: True}, {id: 13, p_name: Hany_ 12, p_age: 48, p_sex: Fal
se}]>

 


2020-05-09

 

 

Django学习路12_objects 方法(all,filter,exclude,order by,values)

原文:https://www.cnblogs.com/hany-postq473111315/p/12859187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!