- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个具有相同列结构的表。
该脚本从 2 个不同的 json 源中提取,其键略有不同。
我的 Item 类识别源,然后解析数据。
在我的 Item 类中,我希望能够根据数据源更改 __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
最佳答案
这不是一个好主意,在 sqlalchemy 中每个类都应该映射到单个表。解决方案是创建两个类和一个在它们之间分派(dispatch)的自由函数:
Base = declarative_base()
class Item_A(Base):
__tablename__ = 'A_products'
timestamp = Column(TIMESTAMP)
itemid = Column(String, primary_key=True, index=True, unique=True)
name = Column(String)
class Item_B(Base):
__tablename__ = 'B_products'
timestamp = Column(TIMESTAMP)
itemid = Column(String, primary_key=True, index=True, unique=True)
name = Column(String)
def create_item_object(item):
if isinstance(item, Product_A):
result = Item_A()
#... more stuff
elif isinstance(item, Product_B):
result = Item_B()
#... more stuff
return result
关于Python SQLAlchemy 更改 __init__ 中的 __tablename__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707097/
我正在开发一个原型(prototype)来提取股票价格并将它们转储到数据库中。我想将 __tablename__ 作为参数传递给 SQLAchemy,以便将给定股票的股票报价记录到自己的表中。 (顺便
为了处理不断增长的数据库表,我们对表名进行分片。所以我们可以有这样命名的数据库表: table_md5one table_md5two table_md5three 所有表都具有完全相同的架构。 我们
我对 SQlAlchemy 完全陌生,为了得到它,我编写了以下代码: from sqlalchemy import Column, String, Integer, ForeignKey from s
我是Python的新手,需要您的帮助。我有一台Mac,使用python3。使用SublimeText,这是我在运行代码时收到的信息==>我收到此错误:NameError: name '__tablen
我有 2 个具有相同列结构的表。 该脚本从 2 个不同的 json 源中提取,其键略有不同。 我的 Item 类识别源,然后解析数据。 在我的 Item 类中,我希望能够根据数据源更改 __table
使用 flask-sqlalchemy,我想创建一些类来继承声明类并添加 __bind_key__。这样我就可以创建一些表并继承这些绑定(bind)类。 from flask.ext.sqlalche
我正在尝试创建一个基类,其中为方便起见指定了 id 和 url。 Base = declarative_base() Base.query = session.query_property() cla
我是一名优秀的程序员,十分优秀!