因此,我大概是因為傳遞的 id 值大于 9 而得到了 NoReverseMatch。這是我收到的錯誤消息:Reverse for 'article-details' with arguments '('2', '9')' not found. 1 pattern(s) tried: ['a/(?P<pk>[0-9]+)$']這是我的代碼:Models.pyclass Post( models.Model):title = models.CharField( max_length = 250 )author = models.ForeignKey( User , on_delete=models.CASCADE )body = models.TextField()def get_absolute_url(self): print((self.id)) return reverse('article-details' , args= str(self.id))urls.pyurlpatterns = [path ( 'a/<int:pk>' , ArticleDetailView.as_view() , name='article-details' ) ,path('create/' , CreatePost2.as_view() , name='create_post' ) ,path ( 'p/<int:pk>' , postDetails , name= 'post-details' ) ,]我認為,由于每當使用 id > 9 調(diào)用反向時,數(shù)據(jù)庫中都會有超過 10 個條目,因此它會將其解釋為具有 2 個值的對。我該如何解決這個問題?
如何在使用 id 作為參數(shù)的反向時解決 django 中的 NoReverseMatch?
慕碼人2483693
2023-12-26 16:23:43