2012-01-09 76 views
1

我花了一些時間查看其他問題,但我並不真正瞭解某些實現。我正在用django創建一個虛擬書籍租賃網絡應用程序。我想用複選框顯示書籍列表以使用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") 
    . 
    . 

我想要的形式動態插入書名到標籤領域,但我不知道怎麼辦。

回答

0

窺視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請求上的某些邏輯來處理這個問題,但它應該可以工作。

或者,如果您想要true BooleanFields,則需要在RentalForm上使用__init __()執行某些操作並快速創建所有BooleanField。

+0

謝謝!那完美的工作 – 2012-01-09 18:05:37