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なら一致