我有一个表,其中包含以整数存储的电话前缀列表。 但是我希望能够以``包含''方式进行搜索,例如当搜索“ 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)
但是,由于“前缀”是整数列,因此不会产生任何结果。
什么是最好的方法?我当时在考虑MySQL中的生成字段,但是我又不知道如何在Django模型中使该字段可用。
答案 0 :(得分:0)
我认为您需要做的是将前缀字段作为CHAR进行CAST,然后根据该字段的CAST版本进行过滤。
看看这个stackoverflow问题: