gpt4 book ai didi

django - 不存在匹配查询?

转载 作者:行者123 更新时间:2023-12-04 13:20:52 27 4
gpt4 key购买 nike

这是 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)

这是错误:
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.

关于期望的更详细的解释:我有一个侧栏,其中列出了所有打开的“门票”。当我单击其中一张票证时,应将其打开。相反,当我尝试打开它时,出现此错误。怎么了?
这是模型类:
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()

这是模板代码:
{% block title %}Tickets: {{project.name}}{% endblock %}

{% block main %}

<div id="project-nav">
<span><a href="/project/{{project.slug}}/">Tickets</a></span>
<span><a href="/book/{{book.slug}}{{book.name}}">Docs</a></span>
<span><a href="/project/{{project.slug}}/browse">Browser</a></span>
</div>
<div id="action-nav">
{% block actions %}
<span><a href="/project/{{project.slug}}/tickets/create">Create Ticket</a></span>
<span><a href="/project/{{ project.slug }}/tickets/recent">Recent Activity</a> </span>
<span><a href="/project/{{ project.slug }}/tickets/my/">My Tickets</a></span>
{% endblock %}
</div>
{% for ticket in tickets %}

<div class="ticket">
<div class="ticket-header">
<div class="ticket-title">
<a href="/project/ticket/{{ticket.pk}}">{{ticket.subject}}</a>
</div>
<div id="ticket-number">
#{{ticket.pk}}
</div>
<div id="ticket-state">
{{ticket.get_state_display}}
</div>
<div id="ticket-info">
Reported by {{ticket.created_by}} | created: {{ticket.created_on }} | modified: {{ticket.modified_on}}
</div>
</div>
</div>
{% endfor %}
</div>

{% endblock %}

似乎我尝试做的所有事情都回到了这一点,我不明白为什么。我想念什么?非常感谢!

最佳答案

它说没有Project等于slugproject_slug对象。

您应该捕获如下异常

try:
Project.objects.get(slug=project_slug)
except Project.DoesNotExist:
raise sth...

关于django - 不存在匹配查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6547445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com