建设网站的技术方案是啥,在线课程软件网站建设费用,f2c网站建设,专业建设外贸网站我们在上一篇中说明了#xff0c;如何在.net core的efcore中动态设置表名。 本文讲述如何在sqlalchemy中动态设置表名#xff0c;使多个table可以对应到一个model
表如下 code example
from sqlalchemy import create_engine,Column,BigInteger,String
from sqlalchemy.ext…我们在上一篇中说明了如何在.net core的efcore中动态设置表名。 本文讲述如何在sqlalchemy中动态设置表名使多个table可以对应到一个model
表如下 code example
from sqlalchemy import create_engine,Column,BigInteger,String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
base declarative_base()
engine create_engine(postgresql://postgresadmin:admin123192.168.214.133:32222/postgresdb)
class Test(base):__abstract__ True #id Column(BigInteger,primary_keyTrue)name Column(String(255))tablename Column(String(255))def __repr__(self) - str:return self.tablenamesession sessionmaker(bindengine)
Session session()# build a model class with a specific table name
def get_model(tablename,schema):Model type(tablename, (Test,), {__tablename__: tablename,__table_args__:{schema:schema}})return Modelmodel get_model(test1,test)value Session.query(model).all()for item in value:print(item)上述demo包含三步
在抽象模型类中定义表列基于抽象模型构建一个模型类并给它指定一个表名像使用常规类一样使用构建的模型类。