Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django: DetailView get objects from foreignkey

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>


1 Answers

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>
like image 187
Matt Deacalion Avatar answered Apr 24 '26 14:04

Matt Deacalion