Вы не можете добавить __lt
на __year
или __month
.Только последний бит с двойным подчеркиванием считается квалификатором, все до того, как он будет обработан как обход, т.е. Django попытается найти поле с именем year
в таблице соединений с именем date
, что, очевидно, неверно.
Для чего-то подобного вам нужно просто сравнить дату напрямую:
date = datetime.date(year, month, 1)
news = News.objects.filter(date__lt=date)