I don't understand the Traceback of the error, but Server is running fine (0 problems), and I get all the data I needed from the view.py
. Seems it has to be with the get()
method...
DoesNotExist: matching query does not exist
This are the models
I used.
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}"
and the related view.py
file
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)
If it helps:
I'm passing from urls.py
to view as str
path("<str:category>", views.category_view, name="category")