Django筆記05

單表操做html

新增數據
models.類名.objects.create()
models.類名().save()
修改
models.類名.objects.filter(條件).update()
obj = models.類名.objects.filter(條件)
obj.屬性 = 值
obj.save()
刪除
models.類名.objects.filter().delete()
查詢
all()  查詢全部結果
filter  查詢符合條件的數據
get  返回一個符合條件的數據
exclude  返回不匹配的數據
order_by  排序
reverse  對查詢結果反向排序
count   計數
first  返回第一條數據
last  返回最後一條數據
exists  判斷
values  返回queryset對象裏面是字典
values_list  返回queryset對象裏面是元組
dstinct  去重

返回queryset對象的方法
  all  filter  exclude  order_by  reverse  distinct
特殊的queryset
  values  values_list
返回具體對象
  get  first  last

基於雙下劃線模糊查詢
in  值是否在一個列表中
gt  大於
lt  小於
gte  大於等於
lte  小於等於
range  值是否在一個範圍內
contains 
icontains  
startswith
pub_date_year  按年查詢
https://www.cnblogs.com/liuqingzheng/articles/9472723.html

多表關聯數據庫

建立多表模型django

  使用OneToOneField和ForeignKey模型表的字段後面會自動增長_id函數

  ManyToManyField:會自動建立第三張表code

  一對一的關係:OneToOneFieldhtm

  一對多的關係:ForeignKey對象

  多對多的關係:ManyToManyFieldblog

添加表記錄排序

  多對多rem

  add 添加記錄  能夠傳入對象,id

  remove 刪除記錄  能夠傳入對象,id

  clear 清空記錄  沒有參數

  set 更新記錄  傳入列表

基於對象的跨表查詢

  一對一:正向:按字段  反向:按表名小寫

  一對多:正向:按字段  反向:按表名小寫_set.all()

  多對多:正向:按字段  反向:按表名小寫_set.all()

  基於對象的查詢是屢次查詢(子查詢)

基於雙下劃線的跨表查詢

  正向按字段,反向按表名小寫

聚合查詢

  from django.db.models import Avg,Sum,Max,Min,Count

  models.類名.objects.all().aggregate(聚合函數)

分組查詢

  from django.db.models import Avg,Sum,Max,Min,Count

  models.類名.objects.annotate(別名=聚合函數)

F查詢:查詢的條件做用兩邊都來自於數據庫而非手動輸入的值

Q查詢:可以將filter內部默認的and關係轉換成須要的

https://www.cnblogs.com/liuqingzheng/articles/9499252.html

相關文章
相關標籤/搜索