SQLalchemy-Flask:一对多关系的ArgumentError

时间:2019-06-22 09:19:25

标签: python sqlite flask sqlalchemy

我正在尝试使用sqlalchemy对一对多关系运行查询。我无法运行查询。

class Quote(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.String(1000))
    category = db.Column(db.String(100))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    date_added = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)

class Category(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    quote_cat = db.relationship("Quote", backref='category', lazy=True)
    quote_id_ = db.Column(db.Integer, db.ForeignKey('quote.id'))
  

sqlalchemy.exc.ArgumentError:映射器映射的类Category-> category   无法为映射表“类别”组合任何主键列

1 个答案:

答案 0 :(得分:0)

您的quote_cat backref引用了Quote类上已经存在的属性。删除此值或更改backref值。

以下是backref文档:

  
      
  • backref –
  •   
     

表示要放置在相关映射器类上的属性的字符串名称,该属性将在另一个方向上处理这种关系