diff --git a/fastapi_solo/db/database.py b/fastapi_solo/db/database.py index 8052b43..2ebf958 100644 --- a/fastapi_solo/db/database.py +++ b/fastapi_solo/db/database.py @@ -223,7 +223,7 @@ def exec(self, q, **kwargs): return result.scalars() return result - def find_or_create(self, model: Type[Base], find_by=None, flush=True, **kwargs): + def find_or_create(self, _model: Type[Base], find_by=None, flush=True, **kwargs): """Find or create a model it doesnt update the model if it already exists @@ -240,12 +240,12 @@ def find_or_create(self, model: Type[Base], find_by=None, flush=True, **kwargs): user = User.find_or_create(find_by=["name"], name="Albert") ``` """ - q = select(model) + q = select(_model) filters = kwargs if find_by: filters = {k: v for k, v in kwargs.items() if k in find_by} else: - pks = list(map(lambda x: x.name, model.__mapper__.primary_key)) + pks = list(map(lambda x: x.name, _model.__mapper__.primary_key)) if all(k in kwargs for k in pks): filters = {k: v for k, v in kwargs.items() if k in pks} @@ -253,13 +253,13 @@ def find_or_create(self, model: Type[Base], find_by=None, flush=True, **kwargs): ret = self.exec(q).one_or_none() if not ret: - ret = model(**kwargs) + ret = _model(**kwargs) self.add(ret) if flush: self.flush() return ret - def upsert(self, model: Type[Base], find_by=None, flush=True, **kwargs): + def upsert(self, _model: Type[Base], find_by=None, flush=True, **kwargs): """Update or create a model it will update the model if it already exists before returning it @@ -278,10 +278,10 @@ def upsert(self, model: Type[Base], find_by=None, flush=True, **kwargs): ``` """ if not find_by: - pks = list(map(lambda x: x.name, model.__mapper__.primary_key)) + pks = list(map(lambda x: x.name, _model.__mapper__.primary_key)) if not all(k in kwargs for k in pks): raise DbException("find_by or primary key must be provided") - e = self.find_or_create(model, find_by=find_by, flush=False, **kwargs) + e = self.find_or_create(_model, find_by=find_by, flush=False, **kwargs) for k, v in kwargs.items(): setattr(e, k, v) if flush: