QuerySet 字段查询-条件
字段查找
字段查询是指如何指定SQL WHERE子句的内容. 它们通过查询集的:
filter()
get()
exclude()
的关键字参数指定.
exact
精确匹配。如果为比较提供的值为None,它将被解释为SQL NULL:
示例:
Entry.objects.get(id__exact=14)
Entry.objects.get(id__exact=None)
SQL等价物:
SELECT ... WHERE id = 14;
SELECT ... WHERE id IS NULL;
iexact
不区分大小写的精确匹配。
contains
区分大小写的包含例子。
icontains
不区分大小写的contains。
in¶
在给定的列表。
gt¶
大于
Entry.objects.filter(id__gt=4)
gte¶
大于或等于
lt¶
小于
lte¶
小于或等于
startswith¶
区分大小写,开始位置匹配
istartswith¶
不区分大小写,开始位置匹配
range¶
范围测试(包含于之中)。
isnull¶
值为 True 或 False, 相当于 SQL语句IS NULL和IS NOT NULL.
Entry.objects.filter(pub_date__isnull=True)
search¶
一个Boolean类型的全文搜索,以全文搜索的优势。这个很像 contains ,但是由于全文索引的优势,以使它更显著的快。
例:
>>>Entry.objects.filter(headline__search="+Django -jazz Python")
正则表达式¶
regex
区分大小写的正则表达式匹配。
正则表达式语法是正在使用的数据库后端的语法。
>>>Entry.objects.get(title__regex=r'^(An?|The) +')
建议使用原始字符串(例如,r'foo'而不是'foo')来传递正则表达式语法。
iregex
不区分大小写的正则表达式匹配。

浙公网安备 33010602011771号