Django:DetailView从foreignkey获取对象

时间:2017-05-18 16:47:26

标签: django django-views django-queryset django-class-based-views

我的模型事件有一个基于类的DetailView,并希望显示与foreignkey相关的kategorie条目。

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 如何获得与活动相关的分类?到目前为止,我使用了功能视图。

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

2 个答案:

答案 0 :(得分:2)

您的<ul> {% for kategorie in event.kategorie_set.all %} <li><a href="{% url 'events:kategorie-detail' kategorie.id %}">{{ kategorie }}</a></li> {% endfor %} </ul> 应该有:

function printTime() { 
     var d = new Date(); 
     var hours = d.getHours(); 
     var mins = d.getMinutes(); 
     var secs = d.getSeconds();
     document.body.innerHTML= hours+":"+mins+":"+secs;
}  
 setInterval(printTime, 1000);

答案 1 :(得分:0)

您使用的视图与它无关。您只需遍历event.kategorie_set.all