URL-путь из категорий в DetailView - PullRequest
0 голосов
/ 11 октября 2018

Я использую DetailView для отображения всех элементов внутри категории.

Я пытаюсь получить слагов моей категории в виде переменных в URL.Но я не знаю, как сделать связь между категориями и деталями.

До сих пор, когда я нажимаю на одну из сгенерированных ссылок в Index.html, например http://localhost:8000/oneofthecategories,, я получаю следующую ошибку:

Exception Type: FieldError
Exception Value:    
Cannot resolve keyword 'slug' into field. Choices are: author, category, category_id, id, title

Файлы:

#Models.py

class categories(models.Model):
    name = models.CharField(max_length=50,unique=True)
    slug = models.SlugField(max_length=100,unique=True)

    def __str__(self):
        return self.name

class details(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=42)
    category = models.ForeignKey('categories', on_delete=models.CASCADE,related_name="detail")

def __str__(self):
    return self.title

#Views.py

class IndexView(generic.ListView):
    model = categories
    context_object_name = "list_categories"
    template_name='show/index.html'

class CategoryDetails(DetailView):
    model = details
    context_object_name = "detail"
    template_name = "show/categories.html"
    slug_url_kwarg = 'slug'

#Urls.py

urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<slug:slug>', views.CategoryDetails.as_view(), name='category_details'),
]

#Index.html

{% load staticfiles %}

<p>These is a list of categories</p>

{% for category in list_categories %}
    <div class="article">
    <h3>{{ category.name }}</h3>

    {% for detail in category.categories.all %}
        <p> {{detail.title}} </p>
        <li><a href="{% url 'category_details' category.slug %}">URLS</a></li>
    {% endfor %}
</div>
...