【问题标题】:Get all fields from DB where value contains number using Django使用 Django 从数据库中获取值包含数字的所有字段
【发布时间】:2014-02-03 10:54:19
【问题描述】:

如何从数据库中获取值有数字的所有字段?

示例有效:1test, tes1t, test1

我想是这样的:field__contains

【问题讨论】:

    标签: django


    【解决方案1】:

    您可以使用正则表达式查询来做到这一点。

    Model.objects.filter(value__regex=r'\d')
    

    【讨论】:

    • 匹配所有数字,而不仅仅是 1-9
    【解决方案2】:

    使用icontainsdjango docs

    objs = Model.objects.filter(value__icontains="1")
    

    相当于执行 sql ILIKE "%1%"(不区分大小写)

    contains 如果它是一个数字,它实际上也可以工作,这是一个简单的LIKE

    编辑:要回答您的评论,是的,您需要遍历数字。见this question

    【讨论】:

    • 对于从 1 到 9 的所有数字,我需要编写查询吗?
    猜你喜欢
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多