Skip to content

Commit 49739b8

Browse files
committed
fix: Q.resolve compatibility problem
1 parent ceb4c3b commit 49739b8

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

Pipfile

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ cryptography = "*"
1313
faker = "*"
1414
fastapi = "*"
1515
uvicorn = "*"
16+
tortoise-orm = "*"
1617

1718
[requires]
1819
python_version = "3.7"

fastapi_esql/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
timing,
1818
)
1919

20-
__version__ = "0.0.5"
20+
__version__ = "0.0.6"
2121

2222
__all__ = [
2323
"QsParsingError",

fastapi_esql/utils/sqlizer.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from json import dumps
33
from typing import Any, Dict, List, Optional, Union
44

5-
from tortoise import Model
5+
from tortoise import Model, __version__
66
from tortoise.queryset import Q
77
from tortoise.query_utils import QueryModifier
88

@@ -68,7 +68,12 @@ def resolve_wheres(
6868

6969
modifier = QueryModifier()
7070
for q in qs:
71-
modifier &= q.resolve(model, model._meta.basetable)
71+
# NOTE method `Q.resolve` changed since V0.18.0
72+
# https://github.com/tortoise/tortoise-orm/commit/37178e175bc12bc4767b93142dab0209f9240c55
73+
if __version__ >= "0.18.0":
74+
modifier &= q.resolve(model, model._meta.basetable)
75+
else:
76+
modifier &= q.resolve(model, {}, {}, model._meta.basetable)
7277
return modifier.where_criterion.get_sql(quote_char="`")
7378

7479
@classmethod

0 commit comments

Comments
 (0)