Я новичок в django, и, возможно, это глупый вопрос, но я застрял с этим на некоторое время ... поэтому у меня есть несколько категорий лекарств, таких как AINS, антидепрессанты, и у каждой из этих категорий есть свои лекарства,и я пытаюсь показать своим пользователям все лекарства определенной категории: поэтому, если пользователь наберет www.namesite.com/meds/AINS, он покажет только лекарства для этой конкретной категории. AINS. Я думаю, что ядолжен получить абсолютный URL-адрес каждой категории и отфильтровать все лекарства в этой конкретной категории?
Модель:
class Category(models.Model):
category = models.CharField(max_length=30)
slug = models.SlugField()
def __str__(self):
return self.category
def get_absolute_url(self):
return reverse("meds", kwargs={'slug':self.category})
class Meta:
verbose_name_plural = 'Categorii'
class Medicament(models.Model):
title = models.CharField(max_length=50)
description = models.TextField(max_length=200)
category = models.ForeignKey(Category, on_delete='CASCADE')
price = models.DecimalField(decimal_places=2, max_digits=4)
prospect = models.TextField(default='Prospect')
company = models.TextField(default = 'company')
nr_unitati = models.IntegerField()
quantity = models.CharField(max_length=5, default='mg')
date_added = models.DateTimeField(auto_now_add=True)
rating = models.IntegerField(null=True, blank=True)
amount = models.IntegerField(default=0)
def __str__(self):
return self.title + ' ' + self.company + ' ' + str(self.nr_unitati) + ' ' + self.quantity
class Meta:
verbose_name_plural = 'Medicamente'
Просмотры:
class MedCategoriesView(DetailView):
model = Category
template_name = 'products/AINS.html'
context_object_name = 'all_categories'
def get_context_data(self, **kwargs):
context = super(AINS_ListView, self).get_context_data(**kwargs)
context['meds'] = Medicament.objects.filter(category=self.object)
return context
URL:
path('medicaments/<slug>/', MedCategoriesView.as_view(), name='meds'),