0
SQLAlchemyサポートsingle table inheritance。Flask-SQLAlchemy単一テーブル継承
私は同じような構造を持っている:私は、テーブルのプロパティとして 'extend_existing' を追加すると
sqlalchemy.exc.InvalidRequestError: Table 'tbl_user' is already defined for this MetaData instance. Specify 'extend_existing=True' to redefine options and columns on an existing Table object.
::私は、コードを実行しようとすると、私のようなエラーが出ます
class User(db.Model):
__tablename__ = 'tbl_user'
type = db.Column(db.String(32))
...
__mapper_args__ = {
'polymorphic_identity': 'user',
'polymorphic_on': type,
'with_polymorphic': '*'
}
class Tourist(User):
__mapper_args__ = {
'polymorphic_identity': 'tourist'
}
...
class Guide(User):
__mapper_args__ = {
'polymorphic_identity': 'guide'
}
...
__table_args__ = {'extend_existing': True}
次に、上記のモデルで何か試してみると次のエラーが表示されます:
sqlalchemy.exc.NoForeignKeysError: Can't find any foreign key relationships between 'tbl_user' and 'tbl_user'.
これはまっすぐなものでなければならず、特にSQLAlchemyでうまく動作しているという単一の属性で解決できるはずです。 問題を解決する方法はありますか?