输入: OFG 5T4 WR4 2-3不给出任何结果的g5t4w42-3。
然而,这就是如何将ticket_reference保存在我的数据库中,而我在输入中看到的票据上显示它,以使它更容易阅读。我是否可以将ticket_reference__icontains替换为用于ticket_reference查询的“忽略”空间的任何其他“筛选器”。
def queryset(self, queryset):
cleaned_data = self.cleaned_data
# Search
search = cleaned_data.get('search')
if search:
queryset = queryset.filter(
Q(company_name__icontains=search) |
Q(first_name__icontains=search) |
Q(last_name__icontains=search) |
Q(email__icontains=search) |
Q(ticket_reference__icontains=search)
)发布于 2019-01-03 15:39:51
您可以像这样删除空格:
def queryset(self, queryset):
cleaned_data = self.cleaned_data
# Search
search = cleaned_data.get('search')
if search:
queryset = queryset.filter(
Q(company_name__icontains=search) |
Q(first_name__icontains=search) |
Q(last_name__icontains=search) |
Q(email__icontains=search) |
Q(ticket_reference__icontains=search.replace(" ", "")
)请注意,这仍然是相当有限的,例如,搜索"John“将找不到first_name= "John”、last_name="Doe“的条目(因为first_name和last_name都不包含”John“)。
如果您正在使用PostgreSQL,我建议查看全文搜索上的Django文档。
https://stackoverflow.com/questions/54025223
复制相似问题