admin

在Django中,如何查找作为字符串一部分而不是包含该字符串的术语?

sql

例如,在我的表格的两个字段下有三行,如下所示

id name
-------
1  brown cat
2  black dog
3  person

这是一个字符串或一个句子:A brown cat jumps over a person,如何使用此字符串来获取第一行和第三行,这是该句子的一部分?据我了解,__contains
并且__regex只能搜索包含目标字符串的术语,但如果该术语是目标字符串的一部分,则将不起作用。有人对此有想法吗?


阅读 243

收藏
2021-07-01

共1个答案

admin

以下查询将执行以下操作:

>>> sentence = 'A brown cat jumps over a person'
>>> MyModel.objects.extra(where={"%s like CONCAT('%%', `name` ,'%%')"}, 
...                       params=[sentence]).values()
[{'id': 1L, 'name': u'brown cat'}, {'id': 3L, 'name': u'person'}]
2021-07-01