cleaning and linting
This commit is contained in:
@ -182,7 +182,7 @@ class ModelTableProxy:
|
|||||||
@classmethod
|
@classmethod
|
||||||
def merge_instances_list(cls, result_rows: Sequence["Model"]) -> Sequence["Model"]:
|
def merge_instances_list(cls, result_rows: Sequence["Model"]) -> Sequence["Model"]:
|
||||||
merged_rows: List["Model"] = []
|
merged_rows: List["Model"] = []
|
||||||
grouped_instances = OrderedDict()
|
grouped_instances: OrderedDict = OrderedDict()
|
||||||
|
|
||||||
for model in result_rows:
|
for model in result_rows:
|
||||||
grouped_instances.setdefault(model.pk, []).append(model)
|
grouped_instances.setdefault(model.pk, []).append(model)
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
from typing import Dict, List, NamedTuple, TYPE_CHECKING, Tuple, Type
|
from collections import OrderedDict
|
||||||
|
from typing import List, NamedTuple, Optional, TYPE_CHECKING, Tuple, Type
|
||||||
|
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
@ -24,8 +25,8 @@ class SqlJoin:
|
|||||||
select_from: sqlalchemy.sql.select,
|
select_from: sqlalchemy.sql.select,
|
||||||
columns: List[sqlalchemy.Column],
|
columns: List[sqlalchemy.Column],
|
||||||
fields: List,
|
fields: List,
|
||||||
order_columns: List,
|
order_columns: Optional[List],
|
||||||
sorted_orders: Dict,
|
sorted_orders: OrderedDict,
|
||||||
) -> None:
|
) -> None:
|
||||||
self.used_aliases = used_aliases
|
self.used_aliases = used_aliases
|
||||||
self.select_from = select_from
|
self.select_from = select_from
|
||||||
@ -48,7 +49,7 @@ class SqlJoin:
|
|||||||
|
|
||||||
def build_join(
|
def build_join(
|
||||||
self, item: str, join_parameters: JoinParameters
|
self, item: str, join_parameters: JoinParameters
|
||||||
) -> Tuple[List, sqlalchemy.sql.select, List, Dict]:
|
) -> Tuple[List, sqlalchemy.sql.select, List, OrderedDict]:
|
||||||
for part in item.split("__"):
|
for part in item.split("__"):
|
||||||
if issubclass(
|
if issubclass(
|
||||||
join_parameters.model_cls.Meta.model_fields[part], ManyToManyField
|
join_parameters.model_cls.Meta.model_fields[part], ManyToManyField
|
||||||
@ -147,7 +148,7 @@ class SqlJoin:
|
|||||||
condition[-2] == part or condition[-2][1:] == part
|
condition[-2] == part or condition[-2][1:] == part
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_order_bys(
|
def get_order_bys( # noqa: CCR001
|
||||||
self, alias: str, to_table: str, pkname_alias: str, part: str
|
self, alias: str, to_table: str, pkname_alias: str, part: str
|
||||||
) -> None:
|
) -> None:
|
||||||
if self.order_columns:
|
if self.order_columns:
|
||||||
|
|||||||
@ -39,10 +39,11 @@ class Query:
|
|||||||
self.select_from: List[str] = []
|
self.select_from: List[str] = []
|
||||||
self.columns = [sqlalchemy.Column]
|
self.columns = [sqlalchemy.Column]
|
||||||
self.order_columns = order_bys
|
self.order_columns = order_bys
|
||||||
self.sorted_orders = OrderedDict()
|
self.sorted_orders: OrderedDict = OrderedDict()
|
||||||
self._init_sorted_orders()
|
self._init_sorted_orders()
|
||||||
|
|
||||||
def _init_sorted_orders(self) -> None:
|
def _init_sorted_orders(self) -> None:
|
||||||
|
if self.order_columns:
|
||||||
for clause in self.order_columns:
|
for clause in self.order_columns:
|
||||||
self.sorted_orders[clause] = None
|
self.sorted_orders[clause] = None
|
||||||
|
|
||||||
@ -51,7 +52,7 @@ class Query:
|
|||||||
pkname_alias = self.model_cls.get_column_alias(self.model_cls.Meta.pkname)
|
pkname_alias = self.model_cls.get_column_alias(self.model_cls.Meta.pkname)
|
||||||
return f"{self.table.name}.{pkname_alias}"
|
return f"{self.table.name}.{pkname_alias}"
|
||||||
|
|
||||||
def apply_order_bys_for_primary_model(self) -> None:
|
def apply_order_bys_for_primary_model(self) -> None: # noqa: CCR001
|
||||||
if self.order_columns:
|
if self.order_columns:
|
||||||
for clause in self.order_columns:
|
for clause in self.order_columns:
|
||||||
if "__" not in clause:
|
if "__" not in clause:
|
||||||
@ -123,6 +124,5 @@ class Query:
|
|||||||
def _reset_query_parameters(self) -> None:
|
def _reset_query_parameters(self) -> None:
|
||||||
self.select_from = []
|
self.select_from = []
|
||||||
self.columns = []
|
self.columns = []
|
||||||
self.order_bys = []
|
|
||||||
self.used_aliases = []
|
self.used_aliases = []
|
||||||
self.fields = []
|
self.fields = []
|
||||||
|
|||||||
Reference in New Issue
Block a user