How to use QuerySet

悩んだところを記載しておきます。

    • 排他(Exclude)

否定系に悩みました使い方はドキュメントの通りに記載すると以下の通りとなります。

Entry.objects.exclude(pub_date__gt=datetime.date(2005, 1, 3), headline='Hello')

参考サイト:Django Official Site

    • QuerySetのパラメータ

よく利用するパラメータを列挙しとく。

gt(>), gte(>=)

Entry.objects.filter(id__gt=4)

SELECT ... WHERE id > 4;

と等価

lt(<), glt(<=)

例は上記と同様なので省く

startswich

Entry.objects.filter(headline__startswith='Will') は

SELECT ... WHERE headline LIKE 'Will%';

と等価

istartswitch

startswitchの大小文字区別しない版

endswitch

Entry.objects.filter(headline__endswith='cats')は

SELECT ... WHERE headline LIKE '%cats';

と等価

iendswitch

endswitchの大小文字区別しない版

range

start_date = datetime.date(2005, 1, 1)

end_date = datetime.date(2005, 3, 31)

Entry.objects.filter(pub_date__range=(start_date, end_date))

SELECT ... WHERE pub_date BETWEEN '2005-01-01' and '2005-03-31';

と等価

参考サイト:Django Official Siete