Managerの条件指定
filter()とかのモデル検索メソッドの条件指定に使えるキーワード引数。 {model}__{fieldname}__{lookuptype}の引数に=で値を与える。例えば1000円未満のレシートならReciept.objects.filter(price__lt=1000)とか。ちょっとだけ変なんだけど、確かに文字列で渡すのではなくて文法要素なのはGOODなのかな(内部ではどうせ文字列操作してるだろう訳でちょっと微妙だけども、文法チェックが入るのは良いのだろう)。動的言語ってのは本当に柔軟だなあ、と改めて思う。
とゆーわけで条件指定に使えるlookuptypeまとめ.
gt | 大きいもの |
gte | 以上 |
lt | 小さい |
lte | 以下 |
exact | 厳密にマッチ |
iexact | Case Insensitive でマッチ |
contains | 含む |
icontains | Case Insensitiveで含む |
in | リストの中にある(contain_inはないのかな) |
startswith | 〜で始まる |
istartswith | Case Insensitiveで〜で始まる |
endswith | 〜で終わる |
iendswith | Case Insensitiveで〜で終わる |
range | タプルで指定した範囲に含まれるもの(大,小とならべちゃだめ) |
year | 年が一致(date*) |
month | 月が一致(date*) |
day | 日にちが一致(date*) |
isnull | nullなら一致 |