Почему я получаю модель DoesNotExist, но сервер способен ее отобразить?

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

DoesNotExist: matching query does not exist enter image description here

Вот 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.

Вернуться на верх