gpt4 book ai didi

python - 查询父类(super class)和继承类

转载 作者:行者123 更新时间:2023-11-29 23:38:56 26 4
gpt4 key购买 nike

有两个我都使用的类,我想查询以下内容:

  • MyClass 中值等于 1 的所有条目
  • BaseClass 中并非源自 MyClass 中的条目的所有条目

虚拟类如下:

Base = declarative_base()                                     

class BaseClass(Base):

__tablename__ = 'base'
id = Column(Integer, primary_key=True)
value = Column(String(256), nullable=False)
type = Column(String(40))

__mapper_args__ = {
'polymorphic_identity': 'base',
'polymorphic_on': type
}


class MyClass(BaseClass):
__tablename__ = 'mine'

id = Column(Integer, ForeignKey('qg.id'), nullable=False,
primary_key=True)
data = Column(Integer, nullable=False)

__mapper_args__ = {
'polymorphic_identity': 'mine'
}

感谢您的任何提示(最好用于 sqlalchemy,mysql 查询也可以)。

最佳答案

对我有帮助的解决方案:

使用 mySQL

SELECT value FROM base LEFT JOIN mine ON mine.id = base.id WHERE base.type = 'base' OR mine.data = 1;

或者使用sqlalchemy

q = session.query(Base)                      
q = q.outerjoin(Mine)
q = q.filter(
or_(Base.type == 'Base',
Mine.id == 1))
result = q.all()

关于python - 查询父类(super class)和继承类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26276988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com