OK, po kolei:
Model:
class MyModel(models.Model):
date = models.DateField(default=now)
minutes = models.PositiveSmallIntegerField()
notes = models.CharField()
urls:
urlpatterns = [
path('', AllRowsView.as_view(), name='all_rows_view'),
path('<int:month>/<int:year>/', MonthView.as_view(), name='month_view'),
]
views:
class AllRowsView(ListView):
template_name = 'templates/all.html'
context_object_name = 'all_rows'
model = MyModel
class MonthView(ListView)
template_name = 'templates/month.html'
context_object_name = 'month_rows'
model = MyModel
Chciałbym żeby ten widok MontView wyświetlał tylko dane z konkretnego miesiąca, czyli jeśli url będzie
apka/12/2022/
to chciałbym żeby widok wyświetlił wyniki zapytania:
MyModel.objects.filter(date__month='12').filter(date__year='2022')
Wiem, że w klasie MonthView powinienem nadpisać metodę get_queryset, na coś w stylu:
def get_queryset(self, **kwargs):
qset = super().get_queryset(**kwargs)
return qset.filter(date__month = ???).filter(date__year = ???)
Ale jak przekazać miesiąc i rok z urla do tych filrtów?
Pytanie może banalne, ale dla mnie Django to spora nowość, kopię się z tym od kilku dni i póki co nie wpadłem na to jak to ugryźć.