Я изо всех сил пытаюсь использовать простой get_queryset внутри просмотра списка. Цель состоит в том, чтобы просто отфильтровать наборы, связанные с данным круизом. Мои модели выглядят так:
from django.db import models
class Cruise(models.Model):
name = models.CharField(max_length=50)
start_date = models.CharField(max_length=50)
end_date = models.CharField(max_length=50)
team_leader = models.CharField(max_length=50)
def __str__(self):
return self.name
class Set(models.Model):
cruise = models.ForeignKey(Cruise, on_delete=models.CASCADE)
set_number = models.IntegerField()
start_depth = models.IntegerField()
end_depth = models.IntegerField()
мои URL выглядят так:
from django.urls import path
from . views import (CruiseListView, CruiseUpdateView, SetListView)
from . import views
urlpatterns = [
...
path('cruise/list/', CruiseListView.as_view(), name='app-cruise_list'),
path('cruise/update/<pk>/', CruiseUpdateView.as_view(), name='cruise-update'),
path('set/list/', SetListView.as_view(), name='set_list'),
]
, а вид проблематики c выглядит следующим образом:
class SetListView(ListView):
model = Set
template_name = 'app/set_list.html'
context_object_name = 'sets'
#queryset = Set.objects.filter(cruise_id=1)
def get_queryset(self):
cruise_id = self.request.Cruise.id
return Set.objects.filter(cruise_id=self.kwargs['cruise_id'])
Как я могу отфильтровать и получить только наборы, связанные с данным круизом? Я получаю KeyError для cruise_id.
Спасибо,