2012-01-09 4 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

감사합니다. 완벽하게 작동 한 –