views:

12

answers:

0

Hello, I'm trying to create a custom field which would automatically add COLLATE information into the WHERE part of SQL query:

class IgnoreDiacriticsField(models.TextField):

    def get_prep_lookup(self, lookup_type, value):
        if lookup_type == 'exact':
            return ' "' + self.get_prep_value(value) + '" COLLATE utf8_general_ci'

when I perform a query like this:

result = ModelClass.objects.filter(field='value')

then nothing is found, even though the query (print result.query) is valid and matches several rows. Am I doing something wrong?

The reason why I'm adding the collation iformation is that I want perform queries on those fields and ignore any diacritics.