请问为什么这里不能取到user模型中的nickname字段?
这里是我自己写的首页,默认展示第一条回答,第一条回答包括用户的昵称和回答内容。
视图函数:
index.html:
模型:
class Answer(db.Model):
"""问题的回答"""
__tablename__ = 'qa_answer'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
# 外键,关联用户
user_id = db.Column(db.Integer, db.ForeignKey('accounts_user.id'))
# 外键,关联问题
q_id = db.Column(db.Integer, db.ForeignKey('qa_question.id'))
# 回答简述
desc = db.Column(db.String(256), nullable=False)
# 回答内容
content = db.Column(db.Text, nullable=False)
# 是否有效
is_valid = db.Column(db.SmallInteger, default=constants.IfValid.VALID.value)
# 回答的时间
answered_at = db.Column(db.DateTime, default=datetime.now)
# 最后修改回答的时间
updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
# 建立与用户的一对多属性,user.answer_list
user = db.relationship('User', backref=db.backref('answer_list', lazy='dynamic'))
# 建立与问题的一对多属性,question.answer_list
question = db.relationship('Question', backref=db.backref('answer_list', lazy='dynamic'))
随之报错
然后我将nickname去掉,发现却能取到user?,加上nickname字段就报None的错误,这是为什么?
不明白自己哪里出错了
13
收起
正在回答
1回答
同学,你好!视图函数中传递的是page_data数据,同学在HTML中并没有使用传递过来的数据,而是又去查询Question.answer_list.filter_by(),可尝试修改为和视图函数一致Question.query.filter_by(),或者直接使用视图函数传递过来的page_data,参考以下代码:
祝:学习愉快!
Python全栈工程师2020
- 参与学习 人
- 提交作业 5211 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星