我的数据库模型有不同的组织者,可以有多个活动。我现在想要将DetailView
过滤到组织者,然后过滤特定事件。我的解决方案是这里的一个,但我仍然记得,get_object
方法中不应该有两个slug字段。是否有其他方法可以解决我的问题?
views.py
class EventDetailView(DetailView):
context_object_name = 'event'
def get_object(self):
organiser = self.kwargs.get('organiser')
event = self.kwargs.get('event')
queryset = Event.objects.filter(organiser__slug=organiser)
return get_object_or_404(queryset, slug=event)
urls.py
urlpatterns = [
path(
'<slug:organiser>/<slug:event>/',
EventDetailView.as_view(),
name='event'
),
]