Python 获取对象或404 can';找不到具有主键的对象

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

我在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('/',views.detail,name='detail')
用于映射url和调用views.py中的详细信息函数 我测试了我项目的其他部分,但没有get_object_或_404函数,一切都正常 我的问题是主键 我如何解决这个问题?
谢谢

您试图访问的主键在模型中似乎不存在。如果删除某些对象,可能会发生这种情况。
Django添加到模型中的默认主键属性是
id
。检查您是否正在访问有效对象,然后重试。

当您打印出
pk
时会发生什么?如何将
pk
传递到模板中的链接?您确定正在使用的pk存在于数据库中吗?@ritlew它返回在url中输入的id,例如,当url为时,它返回1
iblog
是您的用户名型号,对吗?你知道pk是主键的标准Django别名吗?是的,我知道。我建议检查
id
属性,以防他使用某种数据库查看器。在python中,
id
pk
都可以正常工作。