Создание динамических меток в Django из списка предметов - PullRequest
1 голос
/ 09 января 2012

Я потратил некоторое время на просмотр других вопросов, но я не совсем понимаю некоторые из реализаций. Я создаю фиктивное веб-приложение по прокату книг, используя Django. Я хочу отобразить список книг с флажком, чтобы выбрать его с помощью формы Django.

Есть ли способ динамически генерировать метку флажка из названия книг, созданных в отдельной модели?

Пример модели книги:

class Book(models.Model):
    title = models.CharField(max_length=100)
    .
    .
    .
    pub_date = models.DateField()

Форма аренды:

class RentalForm(forms.Form):
    name = forms.BooleanField(label = "label")
    .
    .

Я хочу, чтобы форма динамически вставляла название книги в поле метки, но я не знаю, как.

1 Ответ

0 голосов
/ 09 января 2012

Посмотрите на виджет ModelMultipleChoiceField и CheckboxSelectMultiple:

from django.forms.fields import MultipleChoiceField
from django.forms.widgets import CheckboxSelectMultiple

class RentalForm(forms.Form):
    books = forms.ModelMultipleChoiceField(queryset=Book.objects.all(),
        widget=CheckboxSelectMultiple)

Я думаю, что он использует __unicode__ для отображения «метки» рядом с флажком. Вам понадобится некоторая логика в запросе .save () или POST, чтобы справиться с этим, но он должен работать.

В качестве альтернативы, если вы хотите истинные BooleanFields, вам нужно будет что-то сделать с __init __ () в RentalForm и создать все BooleanFields на лету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...