首页 > 解决方案 > AttributeError:类型对象'Post'没有属性'query'

问题描述

我按照 Corey Schafer 的烧瓶教程建立了一个社交媒体网站。但是,当我进入 Create a post 阶段时,我遇到了“AttributeError: type object 'Post' has no attribute 'query'”,但我不明白为什么,Corey 在视频中没有遇到这个问题...我对此真的很陌生,我不知道出了什么问题,任何建议将不胜感激。

标签: pythonflaskflask-sqlalchemyattributeerror

解决方案


这是因为您没有使用Post(db.Model)in 您的model.pythat 确实有该query方法,但您的程序正在使用Post(FlaskForm)from form.py。由于它们具有相同的名称,因此您的导入相互覆盖:

# simplified
from sm.model import Post
from sm.forms import Post

尝试明确命名它们PostModelPostForm以便更容易地澄清两者。

(您会注意到这正是Corey Schafers 代码片段中所做的)


推荐阅读