В моей модели базы данных есть разные организаторы, у которых может быть несколько событий. Теперь я хочу отфильтровать свой DetailView до организатора, а затем до конкретного события. Мое решение здесь, но я все еще помню, что в методе get_object не должно быть двух служебных полей. Есть ли другой подход к тому, что я пытаюсь сделать?
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'
),
]
Сейчас это действительно работает для меня, когда я писал это, я просто прочитал, что это должно быть сделано только с одним полем слага, но я думаю, что просто неправильно это понял. Спасибо за ответ Даниил!






Почему не должно быть двух полей слизняков? Это должно работать нормально; какие проблемы у вас возникают с этим кодом?