1

Django中这个CQLSH语句的等价物是什么?

SELECT * FROM table_name WHERE string LIKE '%pattern%';

我如何在 django 中实现这个?我试过了

result = table.objects.filter(string__contains='pattern')

但它给出了以下错误

[Invalid query] message="Cannot use CONTAINS on non-collection column string"

我已经为搜索字段创建了一个自定义索引,并且原始 LIKE 查询正在 cqlsh 中工作。但是我需要 Django 根据关键字进行过滤。提前致谢

4

1 回答 1

2

检查过滤运算符上的 cqlengine 文档:

CONTAINS运算符用于集合:

CONTAINS 运算符可用于所有集合类型(List、Set、Map)。

根据您的需要,您想使用LIKE运算符:

result = table.objects.filter(string__like='%pattern%').allow_filtering()
于 2021-03-10T07:39:56.253 回答