add Base_DB class

This commit is contained in:
yanchunhuo 2022-08-04 10:35:26 +08:00
parent d09bc9964d
commit 815ed90553
2 changed files with 30 additions and 4 deletions

View File

@ -0,0 +1,24 @@
#
# base_db.py
# @author yanchunhuo
# @description
# @created 2022-08-04T09:52:09.525Z+08:00
# @last-modified 2022-08-04T10:34:56.676Z+08:00
# github https://github.com/yanchunhuo
class Base_DB:
def __init__(self,db_session,model) -> None:
self.db_session=db_session
self.model=model
def filter_object(self,obj:object):
attrs=obj.__dict__
attrs.pop('_sa_instance_state')
result_object=self.db_session.query(self.model).filter_by(**attrs).first()
return result_object
def filter_objects(self,obj:object):
attrs=obj.__dict__
attrs.pop('_sa_instance_state')
result_objects=self.db_session.query(self.model).filter_by(**attrs).all()
return result_objects

View File

@ -3,16 +3,18 @@
# @author yanchunhuo
# @description
# @created 2022-07-25T19:40:40.521Z+08:00
# @last-modified 2022-07-25T19:57:16.904Z+08:00
# @last-modified 2022-08-04T10:34:43.403Z+08:00
# github https://github.com/yanchunhuo
from base.sqliteOpt.demoProject.demoProject_sessions import DemoProject_Sessions
from models.demoProject.user import User as User_Model
from common_projects.sqliteOpt.base_db import Base_DB
from models.demoProject.user import User
class User:
class User_DB(Base_DB):
def __init__(self) -> None:
self.db_demoProject_session=DemoProject_Sessions().db_demoProject_session
super(User_DB,self).__init__(self.db_demoProject_session,User)
def get_user_by_name(self,user_name):
users=self.db_demoProject_session.query(User_Model).filter(User_Model.name==user_name).all()
users=self.db_demoProject_session.query(User).filter(User.name==user_name).all()
return users