【发布时间】:2015-12-20 14:04:42
【问题描述】:
我有这种正常工作的多对多关系。但是,现在我需要另一个与这种多对多相关的类。
currencies = db.Table('currencies_many',
db.Column('id', db.Integer, primary_key=True),
db.Column('currency_id', db.Integer, db.ForeignKey('currencies.id')),
db.Column('bank_id', db.Integer, db.ForeignKey('banks.id'))
)
class Bank(db.Model):
__tablename__ = 'banks'
id = db.Column(db.Integer, primary_key=True)
bank_name = db.Column(db.String(300))
currencies = db.relationship('Currency', secondary=currencies,
backref=db.backref('banks', lazy='dynamic'))
class Currency(db.Model):
__tablename__ = 'currencies'
id = db.Column(db.Integer, primary_key=True)
currency_name = db.Column(db.String(300))
我的意思是,例如,一个订单,我需要与多对多的关联。
class Order(db.Model):
__tablename__ = 'orders'
id = db.Column(db.Integer, primary_key=True)
bank_currency_identification = db.Column(db.Integer, db.ForeignKey('currencies_many.id'))
我该怎么做?在我的示例中,bank_currency_identification 没有 db.relationship,对吗?
【问题讨论】:
-
你确实有一个外键。你不需要关系,至少我不明白为什么。你为什么要让它成为多对多的关系?如果您确实需要它是多对多的,您可以创建另一个表,例如
currencies_many
标签: python-2.7 flask sqlalchemy many-to-many flask-sqlalchemy