带有 SQLAlchemy 表的 Flask 没有 link

Flask with SQLAlchemy tables doesn't link

我一直在努力解决这个 SQLAlchemy 的小问题。它告诉我 City.address 引用列与 ForeignKeyConstraint 无关。

这是我的模型

#Address model
class Address(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    address = db.Column(db.String(100), nullable=False)

    company_id = db.Column(db.Integer, db.ForeignKey('company.id'))
    city_id = db.Column(db.Integer, db.ForeignKey('city.id'), nullable=False)
    event = db.relationship('Address', backref='event', lazy='dynamic')
    ForeignKeyConstraint(['city_id'],['city.city_id'])

    def __init__(self, address):
        self.address = address

    def __repr__(self):
        return '<Address %r>' % self.address

#City model
class City(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    zip_code = db.Column(db.String(10), unique=True)
    city_name = db.Column(db.String(100), unique=True)
    country = db.Column(db.String(100), unique=True)

    address = db.relationship('City', backref='address', lazy='dynamic')
    events = db.relationship('City', backref='event', lazy='dynamic')

    PrimaryKeyConstraint('id', 'city_id', name='city_pk')


    def __init__(self, zipcode, cityname, country):
        self.zip_code = zipcode
        self.city_name = cityname
        self.country = country

    def __repr__(self):
        return '<City %r>' % self.cityName

我敢肯定这只是一个小问题,但希望让另一群人关注它会有所帮助。

预先感谢

查看 SQLAlchemy Documentation : Building a Relationship

我还没有尝试使用 FLASK,但它应该可以使用 relationship

#City model
class City(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    zip_code = db.Column(db.String(10), unique=True)
    city_name = db.Column(db.String(100), unique=True)
    country = db.Column(db.String(100), unique=True)

    address = db.relationship('City', backref='address', lazy='dynamic')
    events = db.relationship('City', backref='event', lazy='dynamic')

'City' 和 'address' 不得不调换位置。