2012-01-19 15 views
0

私は、「likes」をUserとmanytomanyフィールドとして保存するビデオモデルを持っています。例えば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のデフォルトのウィジェット)として同類をレンダリングします。

関連する問題