Форма множественного выбора Django с родительскими категориями - PullRequest
0 голосов
/ 30 мая 2011

У меня есть простая модель, которая выглядит следующим образом:

class Neighborhood(models.Model):
    name = models.CharField(max_length=255)
    borough = models.ForeignKey(Borough)

    def __unicode__(self):
        return self.name

В моем файле forms.py у меня есть простая форма, отображаемая с параметрами:

class SearchForm(forms.Form):
    neighborhood = forms.ModelMultipleChoiceField(required=False, queryset=Neighborhood.objects.all(), widget=CheckboxSelectMultiple())

Thisв порядке и перечисляет все варианты в моей модели соседства.Это выглядит примерно так:

  • Нижний Ист-Сайд
  • Таймс-сквер
  • Ист-Виллидж
  • Вест-Виллидж
  • ... и т. д.

    Однако я бы хотел перечислить родительскую категорию района, в данном случае - района.Желаемый вид будет выглядеть так:

  • Бруклин

    • Уильямсбург
    • ДАМБО
    • ...
  • Манхэттен
    • Нижний Ист-Сайд
    • Таймс-сквер
    • Вест-Виллидж
    • Ист-Виллидж
  • Королев
    • ...

Я пытался вызвать два разных объекта и объединить их в произвольный список, однако яЯ не могу пропустить это через набор запросов, так как он дал мне AttributeError за то, что у меня нет «all».

Есть ли другой способ сделать это?

1 Ответ

1 голос
/ 30 мая 2011

Я думаю, что лучший способ - написать собственный виджет для него.

Простой (и неплохой способ) - вывести тег <select> в шаблон вручную. Фильтр regroup сделает всю работу.

...