【发布时间】:2016-11-10 07:08:21
【问题描述】:
我有以下 SQLAlchemy 模型。已成功迁移到数据库:
class MyClassA(db.Model, Timestamp):
a_id = db.Column(db.Integer, nullable=False, primary_key=True)
b_id = db.Column(db.Integer, db.ForeignKey(C.c_id), nullable=False)
d = db.Column(db.String(1024))
e_id = db.Column(db.Integer,
db.ForeignKey(e.e_id))
现在我想在第二个和第四个字段中添加唯一性约束。所以我在模型中添加以下行:
__table_args__ = db.UniqueConstraint('b_id', 'e_id', name='unique_constraint_bid_eid')
但现在当我尝试迁移它时,我收到以下错误:
sqlalchemy.exc.ArgumentError: __table_args__ value must be a tuple, dict, or None
为什么会出现此错误?我该如何解决?我尝试将等式的右边放在括号中,但这并没有解决问题。
【问题讨论】:
-
试试
__table_args__ = (db.UniqueConstraint('b_id', 'e_id', name='unique_constraint_bid_eid'), )
标签: python sqlalchemy flask-sqlalchemy sqlalchemy-migrate