How can I solve this error "Reverse for 'resume-detail' with no arguments not found. 1 pattern(s) tried: ['userapp/view/(?P<slug>[^/]+)/\\Z']"?

Viewed 29

I'm trying to delete from my database but I'm getting the error "Reverse for 'resume-detail' with no arguments not found. 1 pattern(s) tried: ['userapp/view/(?P[^/]+)/\Z']". How do I resolve this error ?

views.py

def delete_view_experience(request, experience_id):
    
    experience_instance=get_object_or_404(Experience, id=experience_id)
  
    if experience_instance:
        experience_instance.delete()
        messages.success(request,"Information Deleted Successfully")
        
    return redirect('resume-detail')

urls.py

 path('userapp/view/<str:slug>/', user_views.resume_detail, name='resume-detail'),
    path('delete-experience/<int:experience_id>/', user_views.delete_view_experience, name='delete_experience'),
    

models.py

class Experience(models.Model):

    company = models.CharField(null = True, max_length=200)
    position = models.CharField(null = True, max_length=200)
    start_date = models.DateField()
    end_date  = models.DateField()
    experience = models.TextField()
    skills = models.TextField()
    resume = models.ForeignKey(Resume, on_delete = models.CASCADE, null = True)

    def __str__(self):
        return '{} at {}'.format(self.position, self.company)

error traceback

Traceback (most recent call last):
  File "C:\Users\Muhumuza-Ivan\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "C:\Users\Muhumuza-Ivan\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response     
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Muhumuza-Ivan\Desktop\JobPortal\userapp\views.py", line 219, in delete_view_education
    return redirect('resume-detail')
  File "C:\Users\Muhumuza-Ivan\AppData\Local\Programs\Python\Python310\lib\site-packages\django\shortcuts.py", line 48, in redirect
    return redirect_class(resolve_url(to, *args, **kwargs))
  File "C:\Users\Muhumuza-Ivan\AppData\Local\Programs\Python\Python310\lib\site-packages\django\shortcuts.py", line 145, in resolve_url
    return reverse(to, args=args, kwargs=kwargs)
  File "C:\Users\Muhumuza-Ivan\AppData\Local\Programs\Python\Python310\lib\site-packages\django\urls\base.py", line 88, in reverse
    return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
  File "C:\Users\Muhumuza-Ivan\AppData\Local\Programs\Python\Python310\lib\site-packages\django\urls\resolvers.py", line 802, in _reverse_with_prefix  
    raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'resume-detail' with no arguments not found. 1 pattern(s) tried: ['userapp/view/(?P<slug>[^/]+)/\\Z'
1 Answers

In the line obj = get_object_or_404(experience=experience_instance) you are calling get_object_or_404 again, this time without passing a class.

Related