我有两个具有相同列结构的表。
该脚本从两个不同的json源中提取,它们的键略有不同。
我的item类标识源,然后解析数据。
在我的item类中,我希望能够根据数据源更改\uu tablename。
这是可能的还是我需要为每个数据源编写一个单独的类?
谢谢,
代码:
Base = declarative_base()
class Item(Base):
__tablename__ = 'products'
timestamp = Column(TIMESTAMP)
itemid = Column(String, primary_key=True, index=True, unique=True)
name = Column(String)
def __init__(self, item):
if type(item) == Product_A:
self.__tablename__ = "A_products"
# Parse Data
elif type(item) == Product_B:
self.__tablename__ = "B_products"
# Parse Data
1条答案
按热度按时间jslywgbw1#
这不是一个好主意,在sqlalchemy中,每个类都应该Map到一个表。一种解决方案是创建两个类和一个自由函数在它们之间进行调度: