Python 获取对象或404 can';找不到具有主键的对象
我在views.py中的功能是:Python 获取对象或404 can';找不到具有主键的对象,python,django,postgresql,web,Python,Django,Postgresql,Web,我在views.py中的功能是: def detail(request,pk): singlepost=get_object_or_404(iblog,pk=pk) return render(request,'blog/blogpost.html',{'singlepost':singlepost}) 我的数据库有几个项目,但它返回404错误为什么? 我也用 path('<int:pk>/',views.detail,name='detail') path('/',vi
def detail(request,pk):
singlepost=get_object_or_404(iblog,pk=pk)
return render(request,'blog/blogpost.html',{'singlepost':singlepost})
我的数据库有几个项目,但它返回404错误为什么?
我也用
path('<int:pk>/',views.detail,name='detail')
path('/',views.detail,name='detail')
用于映射url和调用views.py中的详细信息函数
我测试了我项目的其他部分,但没有get_object_或_404函数,一切都正常
我的问题是主键
我如何解决这个问题?
谢谢您试图访问的主键在模型中似乎不存在。如果删除某些对象,可能会发生这种情况。
Django添加到模型中的默认主键属性是
id
。检查您是否正在访问有效对象,然后重试。当您打印出pk
时会发生什么?如何将pk
传递到模板中的链接?您确定正在使用的pk存在于数据库中吗?@ritlew它返回在url中输入的id,例如,当url为时,它返回1iblog
是您的用户名型号,对吗?你知道pk是主键的标准Django别名吗?是的,我知道。我建议检查id
属性,以防他使用某种数据库查看器。在python中,id
和pk
都可以正常工作。