为了账号安全,请及时绑定邮箱和手机立即绑定

通用详细视图 View 必须使用 URLconf 中的对象 pk 或 slug 来调用

通用详细视图 View 必须使用 URLconf 中的对象 pk 或 slug 来调用

料青山看我应如是 2023-09-26 16:36:56
如何访问 urls.py 中的外键?################models.py...class Category(models.Model):    title = models.CharField(verbose_name='TITLE', max_length=200)    slug = models.SlugField('SLUG', unique=True, allow_unicode=True, help_text='one word for title alias.')    ...    def __str__(self):        return self.titleclass Episode(models.Model):    category = models.ForeignKey("Category", verbose_name=("CATEGORY"), on_delete=models.CASCADE)    number = models.IntegerField()....    meta:    ...    def __str__(self):    ...    def get_absolute_url(self):        return reverse("manga:episode_detail", kwargs={"slug": self.category.slug, "number": self.number})#####################urls.py...    # path('category/<slug:category.slug>/<int:number>', views.EpisodeDetailView.as_view(), name="episode_detail"),]#################views.py...class EpisodeDetailView(DetailView):    model = Episode    template_name = 'manga/episode_detail.html'    context_object_name = 'episode'** **它抛出了“必须使用 URLconf 中的对象 pk 或 slug 来调用通用详细信息视图 EpisodeDetailView。”**我想看情节的细节。但我不能...我尝试过抛出查询集,但它不起作用......如何访问 urls.py 中的外键?**  # def get_queryset(self):        # return Episode.objects.filter(category__slug=self.kwargs['lab'])    def get_queryset(self):        employee = Category.objects.get(slug=self.kwargs['slug'])        print(employee)        return Episode.objects.get(category=employee, number=self.kwargs['number'])
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

问题似乎出在您设计 url 模式的方式上。该错误确实建议您使用 object pk 或 slug 这意味着您可以尝试以更简单的方式设计它

urlpatterns = [
    path('category/<slug>/', views.EpisodeDetailView.as_view(), name='episode_detail')


查看完整回答
反对 回复 2023-09-26
  • 1 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信