【问题标题】:How to get objects that contain a specific string如何获取包含特定字符串的对象
【发布时间】:2021-12-31 12:18:24
【问题描述】:

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

if "something" in string:
   pass

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

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

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

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

【问题讨论】:

    标签: python django django-queryset django-filter


    【解决方案1】:

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

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

    这将生成以下 SQL 查询。

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

    更多信息请参见field lookups

    【讨论】:

    【解决方案2】:
    posts = Post.objects.filter(field__icontains = "string")
    

    戳这里details

    【讨论】:

    • __contains 没问题,不过还是谢谢你!
    • 是的,这是您的选择 __icontains 它不区分大小写。
    猜你喜欢
    • 1970-01-01
    • 2015-01-20
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多