def match(self, field, value):

        ftype = str(field.type)
        ignore_case = self.ignore_case

        if ignore_case and \
           hasattr(value, "lower") and ftype in ("string", "text"):
            # NB Must convert to unicode before lower() in order to correctly
            #    convert certain unicode-characters (e.g. İ=>i, or Ẽ=>ẽ)
            # => PostgreSQL LOWER() on Windows may not convert correctly,
            #    which seems to be a locale issue:
            #    http://stackoverflow.com/questions/18507589/the-lower-function-on-international-characters-in-postgresql
            # => works fine on Debian servers if the locale is a .UTF-8 before
            #    the Postgres cluster is created
            query = (field.lower() == s3_unicode(value).lower().encode("utf-8"))
        else:
            query = (field == value)
        return query

# =============================================================================
Returns an RFC3987 IRI ID for the given object, action and date.
dataset/ETHPy150Open sahana/eden/modules/s3/s3import.py/S3Duplicate.match--crossover with--dataset/ETHPy150Open justquick/django-activity-stream/actstream/feeds.py/AbstractActivityStream.get_uri