【发布时间】:2015-05-27 05:33:31
【问题描述】:
我有一个名为 Subscription 的 Flask / SQLAlchemy 模型,它与许多其他模型(订阅者、支付等)相关联。我现在必须配对两个订阅,其中一个订阅有时被称为“恩人”,而另一个订阅称为“接收者”。这是一个可选的一对一自引用模型。
当我尝试以下操作时:
class Base(db.Model):
__abstract__ = True
id = db.Column(db.Integer, primary_key=True)
class Subscription(Base):
__tablename__ = 'subscriptions'
benefactor_id = db.Column(db.Integer, db.ForeignKey('subscriptions.id'))
recipient = relationship('Subscription', uselist=False, backref='benefactor')
我得到错误:
Subscription.recipient and back-reference Subscription.benefactor are both
of the same direction symbol('ONETOMANY'). Did you mean to set remote_side
on the many-to-one side ?
这仅适用于 benefactor_id 定义,但会中断关系声明。有什么建议么?我不明白这个错误——根据我对文档的阅读,uselist=False 应该可以防止这个问题。
【问题讨论】:
标签: flask sqlalchemy flask-sqlalchemy