Project Matching Query Does Not Exist Error?

Deadly 提交于 2019-12-31 03:17:15

问题


This is the view:

def showProject(request, project_slug):
project = Project.objects.get(slug=project_slug)
tickets = Ticket.objects.filter(project=project)
payload = { 'project':project, 'tickets':tickets }
return render(request, 'project/project.html', payload)

This is the error:

Traceback: File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\handlers\base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File "C:\project\views.py" in showProject 13. project = Project.objects.get(slug=project_slug) File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\db\models\manager.py" in get 132. return self.get_query_set().get(*args, **kwargs) File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\db\models\query.py" in get 349. % self.model._meta.object_name)

Exception Type: DoesNotExist at /project/ticket/ Exception Value: Project matching query does not exist.

A more detailed explanation of what is expected: I have a sidebar that lists all open "tickets." When I click on one of those tickets, it should open it. Instead when I try to open it, I am getting this error. What is happening?

Per, request, here is the model class:

class Project(models.Model):
"""simple project for tracking purposes"""
name = models.CharField(max_length = 64)
slug = models.SlugField(max_length = 100, unique=True,blank=True, null=True)
description = models.CharField(max_length = 255)
owner = models.ForeignKey(User, related_name="+")
created_on = models.DateTimeField(auto_now_add = 1)
active = models.BooleanField(default=True)
parent = models.ForeignKey("self", related_name="children", null=True, blank=True)
repository = models.ForeignKey("Repository", related_name="projects", null=True, blank=True)
book = models.ForeignKey(Book, related_name="+", null=True, blank=True)
acl = models.ManyToManyField(AclEntry)
def save (self):
    if not self.slug:
        self.slug = '-'.join(self.name.lower().split())
    if not self.book:
        book = Book(name=self.name, owner=self.owner)
        book.save()
        self.book = book
    super(Project, self).save()

It seems that everything I try to do is going back to this, and I don't understand why? What am I missing? Thanks so much!


回答1:


project = Project.objects.get(slug=project_slug)

is raising an exception (DoesNotExist), meaning that there is no project in the Project table with a slug corresponding to the value in project_slug

The regex in your urls might be wrong, the link sending you to showProject view might be wrong or there mightn't be a project in the table yet corresponding to that slug



来源:https://stackoverflow.com/questions/6524981/project-matching-query-does-not-exist-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!