I am trying to write a Django query that will only match whole words. Based on the answer here, I\'ve tried something like:
result = Model.objects.filter(te
I had the same problem trying to match word boundaries using the Perl-compatible escape sequence \b. My backend database is MySQL.
I solved the problem by the character class expression [[:space:]], e.g.
q_sum = Q()
search_list = self.form.cleaned_data['search_all'].split(' ');
for search_item in search_list:
search_regex = r"[[:space:]]%s[[:space:]]" % search_item
q_sum |= Q(message__iregex=search_regex)
queryset = BlogMessages.objects.filter(q_sum).distinct()