django聯合查詢

2022-08-09 19:33:09 字數 1249 閱讀 9630

假設a表的主鍵aid作為b表的外來鍵,a表有屬性name,那麼想查詢b表中name為abc的元素就可以這樣寫:

b.objects.all().filter(aid__name = 'abc')

__真是太好用了……還有其他的用途:

條件選取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

例子:

q1 = entry.objects.filter(headline__startswith="what")

q2 = q1.exclude(pub_date__gte=datetime.date.today())

q3 = q1.filter(pub_date__gte=datetime.date.today())

q = q.filter(pub_date__lte=datetime.date.today())

q = q.exclude(body_text__icontains="food")

即q1.filter(pub_date__gte=datetime.date.today())表示為時間》=now,q1.exclude(pub_date__gte=datetime.date.today())表示為<=now

以上來自

寫的還挺逗的= =

Django使用聯合主鍵

今天閒著沒事,突然想起乙個以前遇到的乙個小問題。一直忘了來驗證自己的解決方案,所以今天特意來查詢了些資料來驗證下自己的想法。整理如下 單張表內建立聯合主鍵 class iottemp models.model mac models.charfield max length 64,blank fals...

Execl ADO SQL 聯合查詢

原題目 如何從兩張excel表中取數,生成第三張表?表一 a姓名 b身份證號 c金額1 張三642120197409020031 21002李四 552120197509020031 31003王五 693120197408020031 20004陳三 642202197409020031 1000...

SQL 聯合查詢

use xsgl go select from student select from cause select from exam 聯合查詢 join on 預設為inner,如果有right or left 那麼就指的是外聯,outer 可以不寫 1.最長見為內聯 table1 inner jo...