基于id获取名称

2024-09-26 18:00:05 发布

您现在位置:Python中文网/ 问答频道 /正文

从外部表获取属性时遇到问题:

教堂餐桌:

class ChurchModel(db.Model):
    __tablename__ = 'churches'

    church_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(80))

部长桌:

class MinisterModel(db.Model):
    __tablename__ = 'ministers'

    minister_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(80))
    home_assembly_id = db.Column(db.Integer)

    church = db.relationship('ChurchModel') # join
    church_id = db.Column(db.Integer, db.ForeignKey('churches.church_id'))

当我尝试这样做时:

church_name = ChurchModel.query.filter_by(church_id=self.church_id).first().name

我得到这个错误:

church_name = ChurchModel.query.filter_by(church_id=self.church_id).first().name
AttributeError: 'NoneType' object has no attribute 'name'

Tags: keynameidtruedbmodelcolumninteger
2条回答

试试下面

church_query_object = ChurchModel.query.filter_by(ChurchModel.church_id == self.church_id).first()
# Then you get name from church_query_object
church_name = church_query_object.name

试试这个 church_name = ChurchModel.query.filter(ChurchModel.church_id==self.church_id).first().name

相关问题 更多 >

    热门问题