--- ranges.py.orig	2019-07-07 17:57:07.412944589 +0200
+++ ranges.py	2019-07-07 17:57:30.197735597 +0200
@@ -170,7 +170,7 @@
         params = lhs_params + rhs_params
         # Cast the rhs if needed.
         cast_sql = ''
-        if isinstance(self.rhs, models.Expression) and self.rhs._output_field_or_none:
+        if isinstance(self.rhs, models.Expression) and self.rhs._output_field_or_none and not isinstance(self.rhs.output_field, (DateRangeField, DateTimeRangeField)):
             cast_internal_type = self.lhs.output_field.base_field.get_internal_type()
             cast_sql = '::{}'.format(connection.data_types.get(cast_internal_type))
         return '%s @> %s%s' % (lhs, rhs, cast_sql), params
