【问题标题】:Search by contents of integer field in Django在 Django 中按整数字段的内容搜索
【发布时间】:2018-12-02 09:39:19
【问题描述】:

我有一个包含电话前缀列表的表,存储为整数。 但是我希望能够以“包含”的方式进行搜索,例如搜索“32”时,我想查看前缀中包含实际文本“32”的所有记录。

如果使用纯 SQL 当然没问题,但我找不到任何关于如何在 Django 中完成此操作的指导。

现在重要的部分基本上是:

if search_value:
    destinations = destinations.filter(description__icontains=search_value)

它必须是这样的:

if search_value:
    destinations = destinations.filter(description__icontains=search_value, prefix__icontains=search_value)

但是,由于 'prefix' 是一个整数列,因此不会产生任何结果。

对此最好的方法是什么?我正在考虑在 MySQL 中生成一个字段,但是我不知道如何使该字段在 Django 模型中可用。

【问题讨论】:

    标签: django django-queryset


    【解决方案1】:

    我认为您需要做的是将前缀字段转换为 CHAR,然后过滤该字段的 CAST 版本。

    看看这个stackoverflow问题:

    How do i cast char to integer while querying in django ORM?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2019-11-18
    • 2020-10-11
    • 1970-01-01
    相关资源
    最近更新 更多