如何获取包含特定字符串的对象

How to get objects that contain a specific string

我想检索在其 CharField 中包含特定字符串的对象。
在没有 Django 的正常 Python 中,我可以这样做来检查:

if "something" in string:
   pass

但是,我不知道如何在 Django 中使用 .filter()

posts = Post.objects.filter(field = "string") # how can I do something like 'in' here?

我不只是想获取值与“字符串”完全相同的对象。

请教我如何使用 .filter() 在 Django 中检索包含特定字符串的对象。

您可以使用 contains。这将进行区分大小写的包含测试

Post.objects.filter(field__contains='string')

这将生成以下 SQL 查询。

SELECT ... WHERE field LIKE '%string%'

有关详细信息,请参阅 field lookups

posts = Post.objects.filter(field__icontains = "string")

点击此处details