Error Generic detail view必须使用object pk或slug调用,即使使用p

2024-09-30 12:12:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图更新一个有外键字段的视图的记录,由于这个我得到了一个错误,因为我试图更新另一个没有外键字段的模型,它工作得很好。在

还有其他类似的问题,但就我而言,我通过了pk。在

网址.py

 urlpatterns = [
        url(r'^info/(?P<studentpk>\d+)/update/$', views.updatestudent.as_view(), name="updatestudent"),

]

视图.py

^{pr2}$

更新学生.html

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Update" />
</form>

模型.py

class Student(models.Model):
    classfk = models.ForeignKey(Class)
    name = models.CharField(max_length=100)
    birth_date = models.DateField('Birthdate')

    def __str__(self):
        return self.name

错误

AttributeError: Generic detail view updatestudent must be called with either an object pk or a slug.

Tags: namepy模型selfformview视图models
1条回答
网友
1楼 · 发布于 2024-09-30 12:12:07

Django不希望您在URL模式中使用studentpk。最简单的修复方法是使用pk。在

url(r'^info/(?P<pk>\d+)/update/$', views.updatestudent.as_view(), name="updatestudent"),

如果您真的想使用studentpk,那么在视图中设置{a1}。在

^{2}$

注意,在Python中,推荐的样式是将基于类的视图命名为UpdateStudent,将表单类命名为StudentForm。在

相关问题 更多 >

    热门问题