diff --git a/sqlalchemy_utils/types/arrow.py b/sqlalchemy_utils/types/arrow.py index a800072..74b4fe7 100644 --- a/sqlalchemy_utils/types/arrow.py +++ b/sqlalchemy_utils/types/arrow.py @@ -74,6 +74,9 @@ class ArrowType(types.TypeDecorator, ScalarCoercible): return arrow.get(value) return value + def process_literal_param(self, value, dialect): + return str(value) + def _coerce(self, value): if value is None: return None diff --git a/tests/types/test_arrow.py b/tests/types/test_arrow.py index 38e829d..e500839 100644 --- a/tests/types/test_arrow.py +++ b/tests/types/test_arrow.py @@ -56,3 +56,11 @@ class TestArrowDateTimeType(object): assert article.created_at == time == local session.commit() assert article.created_at == time + + def test_literal_param(self, session, Article): + time = arrow.arrow.utcnow() + article = Article(created_at=time) + session.add(article) + clause = Article.created_at > '2015-01-01' + compiled = str(clause.compile(compile_kwargs={"literal_binds": True})) + assert compiled == 'article.created_at > 2015-01-01'