Skip to content

Commit

Permalink
Merge e31de59 into 2b1230c
Browse files Browse the repository at this point in the history
  • Loading branch information
grigi committed Jan 16, 2019
2 parents 2b1230c + e31de59 commit a5d1519
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 27 deletions.
24 changes: 12 additions & 12 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ atomicwrites==1.2.1 # via pytest
attrs==18.2.0 # via pytest
babel==2.6.0 # via sphinx
bandit==1.5.1
bleach==3.0.2 # via readme-renderer
bleach==3.1.0 # via readme-renderer
certifi==2018.11.29 # via requests
cffi==1.11.5 # via cryptography
chardet==3.0.4 # via requests
Expand Down Expand Up @@ -52,19 +52,19 @@ nose2==0.8.0
packaging==18.0 # via sphinx
pbr==5.1.1 # via stevedore
pip-tools==3.2.0
pkginfo==1.4.2 # via twine
pluggy==0.8.0 # via pytest, tox
pkginfo==1.5.0.1 # via twine
pluggy==0.8.1 # via pytest, tox
py==1.7.0 # via pytest, tox
pycodestyle==2.4.0 # via flake8
pycparser==2.19 # via cffi
pyflakes==2.0.0 # via flake8
pygments==2.3.1
pylint==2.2.2
pymysql==0.9.2 # via aiomysql
pyparsing==2.3.0 # via packaging
pypika==0.19.0
pytest==4.1.0
pytz==2018.7 # via babel
pyparsing==2.3.1 # via packaging
pypika==0.21.0
pytest==4.1.1
pytz==2018.9 # via babel
pyyaml==3.13
readme-renderer==24.0 # via twine
requests-toolbelt==0.8.0 # via twine
Expand All @@ -77,15 +77,15 @@ sphinx==1.8.3
sphinxcontrib-websupport==1.1.0 # via sphinx
stevedore==1.30.0 # via bandit
termstyle==0.1.11 # via green
testfixtures==6.4.1 # via flake8-isort
testfixtures==6.4.3 # via flake8-isort
toml==0.10.0 # via tox
tox==3.6.1
tqdm==4.28.1 # via twine
tox==3.7.0
tqdm==4.29.1 # via twine
twine==1.12.1
typed-ast==1.1.1 # via astroid, mypy
typed-ast==1.1.2 # via astroid, mypy
unidecode==1.0.23 # via green
urllib3==1.24.1 # via requests
virtualenv==16.2.0 # via tox
webencodings==0.5.1 # via bleach
wrapt==1.10.11 # via astroid
wrapt==1.11.0 # via astroid
yapf==0.25.0
2 changes: 1 addition & 1 deletion requirements-pypy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ idna==2.8 # via cryptography
immutables==0.6 # via contextvars
pycparser==2.19 # via cffi
pymysql==0.9.2 # via aiomysql
pypika==0.19.0
pypika==0.21.0
pyyaml==3.13
six==1.12.0 # via cryptography
termstyle==0.1.11 # via green
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pypika>=0.18.0
pypika>=0.21.0
ciso8601>=2.1
aiocontextvars>=0.2;python_version<"3.7"
aiosqlite>=0.8.0
6 changes: 3 additions & 3 deletions tortoise/backends/asyncpg/executor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import List

from pypika import Table
from pypika import Parameter, Table

from tortoise.backends.base.executor import BaseExecutor

Expand All @@ -9,5 +9,5 @@ class AsyncpgExecutor(BaseExecutor):
def _prepare_insert_statement(self, columns: List[str]) -> str:
return str(
self.db.query_class.into(Table(self.model._meta.table)).columns(*columns)
.insert('???').returning('id')
).replace("'???'", ','.join(['$%d' % (i + 1, ) for i in range(len(columns))]))
.insert(*[Parameter('$%d' % (i + 1, )) for i in range(len(columns))]).returning('id')
)
8 changes: 4 additions & 4 deletions tortoise/backends/base/executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def __init__(self, model, db=None, prefetch_map=None, prefetch_queries=None):
self._prefetch_queries = prefetch_queries if prefetch_queries else {}

async def execute_select(self, query, custom_fields: Optional[list] = None) -> list:
raw_results = await self.db.execute_query(str(query))
raw_results = await self.db.execute_query(query.get_sql())
instance_list = []
for row in raw_results:
instance = self.model(**row)
Expand Down Expand Up @@ -83,13 +83,13 @@ async def execute_update(self, instance):
self._field_to_db(field_object, getattr(instance, field), instance)
)
query = query.where(table.id == instance.id)
await self.db.execute_query(str(query))
await self.db.execute_query(query.get_sql())
return instance

async def execute_delete(self, instance):
table = Table(self.model._meta.table)
query = self.model._meta.basequery.where(table.id == instance.id).delete()
await self.db.execute_query(str(query))
await self.db.execute_query(query.get_sql())
return instance

async def _prefetch_reverse_relation(self, instance_list: list, field: str,
Expand Down Expand Up @@ -160,7 +160,7 @@ async def _prefetch_m2m_relation(self, instance_list: list, field: str, related_
if having_criterion:
query = query.having(having_criterion)

raw_results = await self.db.execute_query(str(query))
raw_results = await self.db.execute_query(query.get_sql())
relations = {(e['_backward_relation_key'], e['id']) for e in raw_results}
related_object_list = [related_query.model(**e) for e in raw_results]
await self.__class__(
Expand Down
6 changes: 3 additions & 3 deletions tortoise/backends/mysql/executor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import List

from pypika import MySQLQuery, Table, functions
from pypika import MySQLQuery, Parameter, Table, functions
from pypika.enums import SqlTypes

from tortoise.backends.base.executor import BaseExecutor
Expand Down Expand Up @@ -51,5 +51,5 @@ class MySQLExecutor(BaseExecutor):
def _prepare_insert_statement(self, columns: List[str]) -> str:
return str(
MySQLQuery.into(Table(self.model._meta.table)).columns(*columns)
.insert('???')
).replace("'???'", ','.join(['%s' for _ in range(len(columns))]))
.insert(*[Parameter('%s') for _ in range(len(columns))])
)
6 changes: 3 additions & 3 deletions tortoise/backends/sqlite/executor.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from decimal import Decimal
from typing import List

from pypika import Table
from pypika import Parameter, Table

from tortoise import fields
from tortoise.backends.base.executor import BaseExecutor
Expand Down Expand Up @@ -32,5 +32,5 @@ class SqliteExecutor(BaseExecutor):
def _prepare_insert_statement(self, columns: List[str]) -> str:
return str(
self.db.query_class.into(Table(self.model._meta.table)).columns(*columns)
.insert('???')
).replace("'???'", ','.join(['?' for _ in range(len(columns))]))
.insert(*[Parameter('?') for _ in range(len(columns))])
)

0 comments on commit a5d1519

Please sign in to comment.