diff --git a/redis/_parsers/encoders.py b/redis/_parsers/encoders.py index 6fdf0ad882..261bfeabb5 100644 --- a/redis/_parsers/encoders.py +++ b/redis/_parsers/encoders.py @@ -1,3 +1,5 @@ +from datetime import date + from ..exceptions import DataError @@ -23,6 +25,8 @@ def encode(self, value): ) elif isinstance(value, (int, float)): value = repr(value).encode() + elif isinstance(value, date): + value = str(value).encode(self.encoding, self.encoding_errors) elif not isinstance(value, str): # a value we don't know how to deal with. throw an error typename = type(value).__name__ @@ -32,6 +36,7 @@ def encode(self, value): ) if isinstance(value, str): value = value.encode(self.encoding, self.encoding_errors) + return value def decode(self, value, force=False):