Flask App-Builder与多对多关系?

时间:2018-12-13 22:08:48

标签: python sqlalchemy flask-sqlalchemy flask-appbuilder

在尝试实现多对多关系时遇到以下错误:
Was unable to import app Error: Neither 'Column' object nor 'Comparator' object has an attribute 'schema'

这是我的代码:

association_table = Table('association',
    Column('geo_idx', Integer, ForeignKey('geo.idx')),
    Column('container_idx', Integer, ForeignKey('container.idx'))
)


class Geo(Model):
    idx = Column(Integer, unique=True, primary_key=True)
    name = Column(String(64), unique=True, primary_key=False)
    containers = relationship("Container",
                             secondary=association_table, lazy = "subquery",
                             backref=backref('geos', lazy=True))

    def __repr__(self):
        return self.name


class Container(Model):
    idx = Column(Integer, unique=True, primary_key=True)
    name = Column(String(64), unique=True, primary_key=False)

    def __repr__(self):
        return self.name

我做了一些谷歌搜索,并且大多数人都遇到了这个错误,因为没有使用大写的Column来获取它,但是在这种情况下不是这种情况。任何指针将不胜感激。

1 个答案:

答案 0 :(得分:1)

通过将std::vector<std::unique_ptr<int>>传递给关联表创建函数来使其正常工作。

Model.metadata