Django.Теория: Реализация multiple checkboxes?

Всем привет.



Я пишу сервис про продаже/аренде недвижимости.

Интересует следующий вопрос:



Есть объект назовем его например «Дом»,

у дома есть следующие параметры:



1. «Название»

2. «Тип отопления» следующими вариантами выбора
  • Газовое отопление
  • Центральное отопление
  • Масляное(дизельное) отопление
  • Электрическое отопление
  • Подогрев пола
  • Солнечные батареи
  • Дровяное отопление


3. «Кухня»
  • Встроенная кухня
  • Кухонная ниша
  • Кухня-столовая
  • Кухня-остров
  • Открытая кухня




и так далее.

Все параметры строго определены в коде, т.е. нет нужды из создавать/редактировать в БД.



Все варианты в форме должны быть реализованы в виде checkbox с возможностью

множественного выбора.



Собственно вопрос, как реализовать модель в django, чтобы:

1. Форма перезаполняла множественные «чекбоксы»

2. Осуществлять поиск по этих параметрах, например найти дом с «Газовое отопление» и «Встроенная кухня»

3. Как сохранять в БД отмеченные опции?



Вариант номер один:

Реализовать все с помощью ForeignKey

Минус: ресурсоемко, много запросов...etc



Вариант номер два:

Сохранять в базе запись вида «kitchen: option1, option2, option4»

Но как при таком варианте нормально реализовать поиск, отображать форму с отмечаемыми полями.



Буду благодарен за совет.
  • Вопрос задан
  • 4756 просмотров
Пригласить эксперта
Ответы на вопрос 1
Riateche
@Riateche
Если набор чекбоксов фиксирован, нужно завести в модели «дом» поле на каждый из чекбоксов.

В форме на каждое поле вешаете чекбокс. Только стандартный шаблон не подойдет, придется верстать свой, чтобы чекбоксы показывались несколькими списками. Но это не страшно.

Поиск выполняется тривиально — всё в одной таблице.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы