django 过滤查询

Posted jingzaixin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 过滤查询相关的知识,希望对你有一定的参考价值。

1.get:

book = BookInfo.objects.get(id=100)   #查数据库模型BookInfo中id为100的数据

2.all:

book = BookInfo.objects.all()   #查数据库模型BookInfo中所有数据

3.count:

book = BookInfo.objects.all().count()  #查数据库模型BookInfo中所有数据的总数

book = BookInfo.objects.count()  #查数据库模型BookInfo中所有数据的总数

4.filter:

4.1. book = BookInfo.objects.filter(id=1)   #查数据库模型BookInfo中id为1数据,查询到的是一个列表

4.2. book = BookInfo.objects.filter(id__exact=1)  #查数据库模型BookInfo中id为1数据,查询到的是一个列表,

                     #exact为精确值,id=1为id__exact=1的常用简写形式

4.3. book = BookInfo.objects.filter(name__contains="湖")    #查数据库模型BookInfo中name内容中包含“湖”的数据,查询到的是一个列表,

                           #contains为包含内容

4.4. book = BookInfo.objects.filter(name__endswith="湖")    #查数据库模型BookInfo中name内容中以“湖”结尾的数据,查询到的是一个列表,

                              #endswith为以什么结尾

4.5. book = BookInfo.objects.filter(name__isnull=True)     #查数据库模型BookInfo中name内容为空的数据,查询到的是一个列表,

                             #isnull=True表示是空为真

4.6. book = BookInfo.objects.filter(id__in=[1,3,5])      #查数据库模型BookInfo中id内容为1或3或5的数据,查询到的是一个列表,

                             #in表示在什么中

4.7. book = BookInfo.objects.filter(id__gt=3)        #查数据库模型BookInfo中id内容大于3的数据,查询到的是一个列表,

                             #gt表示大于,great 的缩写

4.8. book = BookInfo.objects.filter(id__gte=3)        #查数据库模型BookInfo中id内容大于等于3的数据,查询到的是一个列表,

                              #gte表示大于等于,great equal 的缩写

4.9. book = BookInfo.objects.filter(id__lt=3)        #查数据库模型BookInfo中id内容小于3的数据,查询到的是一个列表,

                           #lt表示小于,less than 的缩写

4.10. book = BookInfo.objects.filter(id__lte=3)       #查数据库模型BookInfo中id内容小于等于3的数据,查询到的是一个列表,

                           #lte表示小于等于,less than equal 的缩写

4.11. book = BookInfo.objects.filter(pub_date__year=‘1980‘)       #查数据库模型BookInfo中pub_date内容中年份为“1980”年的数据,查询到的是一个列表,

                                  #year表示日期中的年

4.12. book = BookInfo.objects.filter(pub_date__gt=‘1990-1-1‘)      #查数据库模型BookInfo中pub_date内容中等于“1990”年“1”月"1"日的数据,查询到的是一个列                                                                                                                                  #表,年月日之间必须以“-”隔开的形式,django要求,否则会报错

5.exclude:

5.1. book = BookInfo.objects.exclude(id=1)     #查数据库模型BookInfo中id不为1(即抛去id为1的)数据,查询到的是一个列表

5.2. book = BookInfo.objects.exclude(id__exact=1)     #查数据库模型BookInfo中id不为1(即抛去id为1的)数据,查询到的是一个列表,

                            #exact为精确值,id=1为id__exact=1的常用简写形式

 

 

 

 ,

以上是关于django 过滤查询的主要内容,如果未能解决你的问题,请参考以下文章

Django:从查询集中删除过滤条件

查询后可以过滤查询集吗? django

Django-查询过滤器,具有外来关系

django-filter 不过滤查询

Django 模板过滤器查询集

Django模型查询集过滤器作为一个函数