Я разрабатываю бэкэнд моего веб-приложения. Сначала я покажу модели:
class School(Model):
name = ...
rank = ...
class Program(Model):
id = ...
length = ...
campus = ForeignKey(Campus)
class Campus(Model):
name = ...
school = ForeignKey(School)
city = ForeignKey(City)
class City(Model):
population = ...
city = ...
province = ForeignKey(Province)
class Province(Model):
province = ...
country = ForeignKey(Country)
class Country(Model)
country = ...
population = ....
У меня здесь так много вопросов и проблем. Я хочу создать форму фильтра для фильтрации программ по стране, городу, провинции, кампусу и школе.
Мой первый вопрос:
Существует пакет с именем django-filters. Вы рекомендуете использовать это? это надежно? Лучше использовать этот пакет или создать форму, отправить форму, получить их и создать набор запросов, с помощью которого я буду показывать отфильтрованные программы в шаблоне?
Мой второй вопрос:
Если я хочу иметь форму с использованием встроенной Django ModelForm и хочу включить в мою форму город, провинцию, страну, название кампуса и даже население города, как мне это сделать? Предположим, я хочу показать программы в стране с населением менее 40 000 000 человек.
Мой третий вопрос:
Мне нужна динамическая фильтрация. Предположим, я выбрал США в качестве страны. Я не хочу видеть Альберту провинцией в следующем поле. Предположим, я выбираю Канаду в поле страны и Альберту в поле провинции. Я хочу видеть только города Альберты, а не, например, Торонто. Я прочитал, что я должен использовать Ajax, но я не знаю, как.