單表操作,增刪改查,F查詢Q查詢,favicon的圖標操作
增刪改查
增 User.objects.create(name=,id=)
user=User(name=,id=)
user.save()
刪除
User.objects.filter(name=‘‘).delete()
user=User.objects.filter(name=‘‘).first()或者[0]
user.delete()
改
User.objects.filter(name=‘‘).update(pwd=‘‘)
user=User.objects.filter(name=")
for i in user:
i.pwd=‘‘
i.save()
查
user=User.objects.filter(name=‘‘)[0]
user=User.objects.get(name=‘‘)多個或者為0個就報錯
單表操作函數
all() first() last() filter()get()
1.ordey_by() 排序函數 ‘name’正序 ‘-name’倒序
2.reverse()反轉排序後的查詢結果 與-效果一樣
3.count()查詢後的列表內數目
4.exists( ) 布爾類型 是否存在
5.values()用字符串格式填寫查詢需要的字段,返回的列表裏面每一項是字典
6.values_list()用字符串格式填寫查詢需要的字段,返回的列表裏面每一項是元祖
7.distinct()去重用於values()後因為只有部分相同的兩個數據
模糊查詢
1.針對字段整形的操作
filter(age_gt=)大於
age_get=大於等於
age_lt=小於
age_let=小於等於
age_in=[1,2,3]在列表裏
age_range=[1,4]1~4
age_exact= 與age=相同
age_isnull =0空的話 不為空返回
2.字符串類型相關
name_endswith= ‘‘ 後方模糊匹配
name_startswith=‘‘ 前方模糊匹配
name_contain=‘’ 前或者後進行匹配即可
name_regex=‘‘ 正則匹配
3.時間類型
entry_time_day=1
entry_time_month=3
F查詢
基於查詢後計算
from django.db.models import F, Q
User.objects.filter(id=1).update(age=F(‘age‘)+1)
# 案例二:查詢id是年齡1/4的結果
user = User.objects.filter(id=F(‘age‘)/4)
Q查詢
基於邏輯
| & ~
# 與
User.objects.filter(Q(id=1) & Q(age=10)) # id=1 並且 age=10
# 或
User.objects.filter(Q(id=1) | Q(id=2)) # id=1 或 id=2
# 非
User.objects.filter(~Q(id=1)) # id 不為 1
urls
from django.views.generic import RedirectView
url(r‘^favicon.ico/$‘,RedirectView.as_view(url=r‘/static/app/favicon.ico‘)),ico格式
單表操作,增刪改查,F查詢Q查詢,favicon的圖標操作