Merge pull request #24 from collerek/change_pg_check-23

change postgresql check to dialect name
This commit is contained in:
collerek
2020-10-28 20:04:23 +07:00
committed by GitHub
2 changed files with 5 additions and 2 deletions

View File

@ -2,7 +2,6 @@ import itertools
from typing import Any, Dict, List, Optional
import sqlalchemy
from databases.backends.postgres import Record
import ormar.queryset # noqa I100
from ormar.fields.many_to_many import ManyToManyField
@ -110,7 +109,7 @@ class Model(NewBaseModel):
) -> dict:
# databases does not keep aliases in Record for postgres, change to raw row
source = row._row if isinstance(row, Record) else row
source = row._row if cls.db_backend_name() == "postgresql" else row
selected_columns = cls.own_table_columns(
cls, fields or [], nested=nested, use_alias=True

View File

@ -166,6 +166,10 @@ class NewBaseModel(pydantic.BaseModel, ModelTableProxy, metaclass=ModelMetaclass
def pk_type(cls) -> Any:
return cls.Meta.model_fields[cls.Meta.pkname].__type__
@classmethod
def db_backend_name(cls) -> str:
return cls.Meta.database._backend._dialect.name
def remove(self, name: "Model") -> None:
self._orm.remove_parent(self, name)