单表操做

数据迁移命令:

-python3 manage.py makemigrations   --->只是对变化作一个记录,记录文件在app的migrations
-python3 manage.py migrate   ---->把更改提交到数据库
-python3 manage.py showmigrations  ---->查看那个没有提交到数据库

查询api

<1> all():                  查询全部结果                        
<2> filter(**kwargs):       它包含了与所给筛选条件相匹配的对象         
<3> get(**kwargs):          返回与所给筛选条件相匹配的对象,返回结果有且只有一个,若是符合筛选条件的对象超
                                        过一个或者没有都会抛出错误。 
<4> exclude(**kwargs):      它包含了与所给筛选条件不匹配的对象    
<5> order_by(*field):       对查询结果排序('-id')    
<6> reverse():              对查询结果反向排序             
<8> count():                返回数据库中匹配查询(QuerySet)的对象数量。    
<9> first():                返回第一条记录   
<10> last():                返回最后一条记录          
<11> exists():              若是QuerySet包含数据,就返回True,不然返回False     
<12> values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后获得的并非一系列
                                        model的实例化对象,而是一个可迭代的字典序列
<13> values_list(*field):   它与values()很是类似,它返回的是一个元组序列,values返回的是一个字典序列          
<14> distinct():            从返回结果中剔除重复纪录

基于双下划线的模糊查询

Book.objects.filter(price__in=[100,200,300])
Book.objects.filter(price__gt=100)
Book.objects.filter(price__lt=100)
Book.objects.filter(price__gte=100)
Book.objects.filter(price__lte=100)
Book.objects.filter(price__range=[100,200])
Book.objects.filter(title__contains="python")
Book.objects.filter(title__icontains="python")
Book.objects.filter(title__startswith="py")
Book.objects.filter(pub_date__year=2012)
相关文章
相关标签/搜索