數據遷移命令:
-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)