2012-01-19 8 views
0

User와 manytomany 필드로 'likes'를 저장하는 비디오 모델이 있습니다. 예컨대Django 폼 입력 제어하기

class Video(models.Model): 
    ... 
    likes = models.ManyToManyField(User) 
    .... 

내가 비디오를 기반으로 ModelForm를 만들

모든 사용자의 목록이 드롭 다운으로 표시됩니다 좋아한다. 이것은 분명히 내가 원하는 것일뿐입니다. 특정 사용자가이 목록에서 자신의 이름을 추가/삭제할 수 있기를 바랍니다. 대신 '좋아요'를 체크 박스로 표시하고 양식의 유효성을 계속 검사하려면 어떻게해야합니까?

답변

3

모델 양식에서 좋아하는 사용자 정의 필드를 만듭니다. 이 필드를 선택하면 likesrequest.user으로 설정하십시오.

from django import forms 

class VideoForm(forms.ModelForm): 
    likes = forms.BooleanField(label='Mark as favorite?') 
    class Meta: 
     model = Video 

이렇게하면 즐겨 찾기가 체크 박스 (BooleanField의 기본 위젯)로 렌더링됩니다.