SQLAlchemy-如何在另一个类(表)中使用一个类(表)中的方法

时间:2019-06-24 11:09:32

标签: python sqlalchemy

我的数据库中有两个非常相似的表,我想使用SQLAlchemy ORM进行建模。一个用于生产,另一个用于质量检查,因此除了表名外它们完全相同。我只是开始学习类和类方法,我想使代码变干,所以我不想为QA表重复相同的列名和方法定义。

我现在所拥有的(非常简化):

class Versions(db.Model):
    __tablename__ = 'versions'

    ver_key = Column('version_key', Integer, primary_key=True)
    market = Column('market', String(100))
    year = Column('year', Integer)

    def __init__(self, market, year):
        self.market = market
        self.year = year

    @classmethod
    def create(cls, market, year):
        new_rec = cls(market, year)
        db.session.add(new_rec)
        db.session.commit()
        return new_rec.ver_key

class VersionsQA(Versions):
    __tablename__ = 'qa_versions'

不幸的是,这无法正常使用,因为使用VersionsQA.create(market, year)在Versions表中而不是VersionsQA中创建记录。

您能帮我理解如何正确编写吗?

需要PS @classmethod,因为它做了很多我不想在这里写的其他事情

0 个答案:

没有答案