Python SQLAlchemy中模型的默认过滤器
假设我有一个名为Python SQLAlchemy中模型的默认过滤器,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,假设我有一个名为my_table 身份证件 类型 1. A. 2. B 3. B 4. A. 听起来你可能想要单表继承,但不确定。这正是我想要的解决方案。使用ModelA或ModelB创建数据的另一个好处是可以正确设置类型值。但是,在sqlalchemy>=1.4中,使用诸如session.query(ModelA)这样的简单查询进行查询的行为将不会像预期的那样工作(但在以前的版本中工作正常。请参阅此以了解有关此主题的更多信息)。 class MyTableModel(db.Model):
my_table
身份证件
类型
1.
A.
2.
B
3.
B
4.
A.
听起来你可能想要单表继承,但不确定。这正是我想要的解决方案。使用
ModelA
或ModelB
创建数据的另一个好处是可以正确设置类型
值。但是,在sqlalchemy>=1.4
中,使用诸如session.query(ModelA)
这样的简单查询进行查询的行为将不会像预期的那样工作(但在以前的版本中工作正常。请参阅此以了解有关此主题的更多信息)。
class MyTableModel(db.Model):
__tablename__ = 'my_table'
id = db.Column(db.Integer, primary_key=True)
type = db.Column(db.String)
__mapper_args__ = {
'polymorphic_on': type
}
class ModelA(MyTableModel):
__mapper_args__ = {
'polymorphic_identity': 'a'
}
class ModelB(MyTableModel):
__mapper_args__ = {
'polymorphic_identity': 'b'
}