Почему я получаю модель DoesNotExist, но сервер способен ее отобразить?
Я не понимаю Traceback ошибки, но Server работает fine (0 проблем), и я получаю все данные, которые мне были нужны из view.py. Похоже, дело в методе get()...
DoesNotExist: matching query does not exist

Вот models, которые я использовал.
from django.contrib.auth.models import AbstractUser
from django.db import models
class User(AbstractUser):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=64, blank=True)
image = models.ImageField(upload_to="portraits", blank=True, default="default.jpg")
def __str__(self):
return f"{self.username}"
class Category(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=64)
description = models.CharField(max_length=255, blank=True)
def __str__(self):
return f"{self.name}"
class Item(models.Model):
id = models.AutoField(primary_key=True)
owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="inventory")
name = models.CharField(max_length=64)
description = models.CharField(max_length=255)
image = models.ImageField(blank=True, default="Megamind.jpg")
starting_bid = models.PositiveIntegerField(default=0)
category = models.ForeignKey(Category, on_delete=models.CASCADE, default="1", related_name="stuff")
active = models.BooleanField(default=True)
favorited = models.ManyToManyField(User, blank=True, related_name="favorites")
def __str__(self):
return f"{self.name} of {self.owner}"
и соответствующий файл view.py
def index(request):
auctions = Item.objects.filter(active=True)
context = {'auctions':auctions, 'title':'Active Listings'}
return render(request, "auctions/index.html", context)
def category_view(request, category):
category = category.capitalize()
category_obj = Category.objects.get(name=category)
category_id = category_obj.id
items = Item.objects.filter(category=category_id, active=True)
context = {'auctions':items, 'title':category}
return render(request, "auctions/index.html", context)
Если это поможет:
Я передаю из urls.py в представление как str
path("<str:category>", views.category_view, name="category")
Посмотрите в traceback, ошибка возникает на /favicon.ico запросе. Современный браузер автоматически спрашивает о favico.
Вы можете сделать что-то вроде этого, чтобы избежать этой ошибки:
url(r'^favicon\.ico$',RedirectView.as_view(url='/static/images/favicon.ico')),
Как верно заметил @Sharpek, ошибка вызвана запросом /favicon.ico, очевидно, от браузера. Самый простой способ исправить это - добавить в ваш шаблон base.html в тег head следующее:
{% load static %} <!-- If it wasn't already used -->
<link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}"/>
Тогда, если у вас нет favicon.ico внутри вашего STATIC_ROOT, у вас будет ошибка 404. В противном случае у вас будет 200.