Я делаю простой календарь, который будет отслеживать события в течение учебного года (август-май). То, что я хотел бы сделать, - это иметь вид архива, который позволит пользователю выбрать учебный год и увидеть события в школьном году.Django YearArchiveView Год выпуска?
Для этого я думал, что буду использовать класс Django ClassArchiveView. Проблема в том, что я не уверен, как отфильтровать результаты, чтобы вместо получения результата от Jan до Dec до августа до мая.
Вид:
class EventArchiveView(YearArchiveView):
template_name = "cal/cal_archive.html"
queryset = CalEvent.objects.all()
date_field = 'start_date'
make_object_list = True
allow_future = True
Модель:
class CalEvent(Audit):
CAL_CHOICES = (
('HOLIDAY','Holiday'),
('SECONDARY','Secondary'),
('ELEMENTARY','Elementary'),
('TEACHER','Teacher'),
('TERM','Term'),
('TESTING','Testing'),
('GRAD','Graduation'),
)
title = models.CharField(max_length=255)
category = models.CharField(max_length=20,choices=CAL_CHOICES,default='HOLIDAY')
start_date = models.DateField(help_text="Format: M/D/Y")
end_date = models.DateField(blank=True,null=True,help_text="Format: M/D/Y. Not Required. Fill if event will spans multiple days.")
week = models.IntegerField()
active = models.BooleanField(default=False)
def __str__(self):
return self.title
def cat_verbose(self):
return dict(CalEvent.CAL_CHOICES)[self.category]
class Meta:
verbose_name_plural = "Cal Events"
Это работает. Но как вы относитесь к списку «-date»? –