3

I have a class-based DetailView for my model Event and want to show kategorie entries that are related by foreignkey.

models.py

class Event(models.Model):
    name = models.CharField(max_length=50)

    def get_absolute_url(self):
        return reverse('events:event-detail', kwargs={'pk': self.pk})

class Kategorie(models.Model):
    event = models.ForeignKey(Event)

    def get_absolute_url(self):
        return reverse('events:kategorie-detail', kwargs={'pk': self.pk})

views.py

class EventDetail(generic.DetailView):
    model = Event
    context_object_name = 'event'

event_detail.html How can I get the kategories that are related to the event? Until now I used functional views.

<ul> {% for kategorie in kategorien %} <li><a href="{% url 'events:kategorie-detail' kategorie.id %}">{{kategorie}}</a></li> {% endfor %} </ul>

2 Answers2

2

Your event_detail.html should have this:

<ul>
    {% for kategorie in event.kategorie_set.all %}
        <li><a href="{% url 'events:kategorie-detail' kategorie.id %}">{{ kategorie }}</a></li>
    {% endfor %}
</ul>
Matt
  • 8,758
  • 4
  • 35
  • 64
0

The view you use has nothing to do with it. You just iterate through event.kategorie_set.all.

Daniel Roseman
  • 588,541
  • 66
  • 880
  • 895