如何在flask-sqlalchemy中检索具有多个单词的模型?以下引发错误:
class Child(Model):
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('user.id'))
parent_one_id = Column(Integer, ForeignKey('parent_one.id'))
class ParentOne(Model):
id = Column(Integer, primary_key=True)
children = relationship('Child', backref='child.id', lazy='dynamic')
查看数据库,我看到parent_one
作为各个模型的表名。
尝试获得父母:
c = Child.query.filter_by(id=1).first()
print c.user.id # Works
print c.parent_one.id # Fails
我明白了:
AttributeError: 'Child' object has no attribute 'parent_one'
答案 0 :(得分:0)
它没有parent_one
属性,因为您没有做任何事情来导致创建一个属性。添加从Child
到名为ParentOne
的{{1}}的关系,或者使用名为parent_one
的{{1}}进行相反的操作。
backref
另请注意,您定义的关系具有无效的反射名称(parent_one
不是有效的Python变量名称)。您似乎已将# in Child
parent_one = relationship('ParentOne', backref='children')
# or in ParentOne
children = relationship(Child, backref='parent_one')
与child.id
混淆。