Django QuerySet 多表联查/条件选取/合并
一个很有趣的个人博客,不信你来撩 fangzengye.com
多表联查
class A(models.Model):
	aname = models.CharField()
class B(models.Model):
	bname = models.ForeignKey(A)
B.objects.filter(bname__aname__contains='searchtitle') # 是两个 '_' 。
条件选取QuerySet
filter 表示 = exclude 表示 != querySet.distinct() 去重复
__exact 精确等于 like ‘aaa’
__iexact 精确等于 忽略大小写 ilike ‘aaa’
__contains 包含 like ‘%aaa%’
__icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于icontains。
__gt 大于
__gte 大于等于
__lt 小于
__lte 小于等于
__in 存在于一个list范围内
__startswith 以…开头
__istartswith 以…开头 忽略大小写
__endswith 以…结尾
__iendswith 以…结尾,忽略大小写
__range 在…范围内
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日
__isnull=True/False
在Django 总用 chain 合并多个QuerySet.
1.合并同一个model的多个QuerySet 的话,是可以采用这种方式的.
QuerySet = QuerySet1 | QuerySet2
2.用chain 来实现,即使是不同的MODEL中查询出来的数据,都可以合并到一个 list 中去.
QuerySet = chain(QuerySet1, QuerySet2)
    我的个人博客fangzengye.com, 欢迎来撩哦!
原文博主: 热衷开源的宝藏Boy
版权声明: 自由转载-非商用-禁止演绎-保持署名| CC BY-NC-ND 3.0
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号