Django访问收藏列表出现Cannot resolve keyword 'favpost'错误如何解决?
错误原因
你在favPost模型的post外键字段中,显式指定了related_name='postfv',该参数会覆盖Django默认的反向关系命名规则(默认用模型类名小写),因此你在查询时使用favpost作为反向关系字段名无法被识别,才会触发FieldError。
修复方案
直接将视图查询语句中的反向关系名替换为你自定义的postfv即可,修改后的代码如下:
def favourite_list(request): new2 = Post.objects.filter(postfv__user=request.user) return render(request, 'accounts/favourites.html', {'new': new2})
该查询逻辑天然匹配你的需求:只会返回存在关联favPost对象、且关联对象的user等于当前登录用户的Post记录,无需额外添加判断条件。
内容的提问来源于stack exchange,提问作者Kamarat AbdelSalam
相关产品推荐
相关产品推荐

