2017-06-17 3 views
0

私はフォームを持っています。チェックボックスリストが表示されます。 したがって、ユーザーは自分の選択に応じて任意のチェックボックスをチェックできます。ダイナミックチェックボックスをチェック

このシステムは動作しています。

しかし、前に行った選択が何であるかをユーザーに示したいと思います。一番簡単な解決策は、前に選択したすべてのチェックボックスをチェックすることです。 enter image description here

をそして、私の選択が良いとき、私は私の選択を編集するために戻った場合、それはそのようなことができます:

例えば、私が持っている最初の時間は、選択するenter image description here

だから私は別の選択肢を追加したり、以前のものを削除することができます。

私はそれを明確にし、私の英語のため申し訳ありません願っています:)

forms.py:

class GamesRegisterForm(forms.Form): 
    favorite_games_choices = [] 
    for game in Games.objects.all().order_by('title'): 
     favorite_games_choices.append((game.guid, game.title),)  

    favorite_games = forms.MultipleChoiceField(
     required=True, 
     initial=True, 
     widget=forms.CheckboxSelectMultiple(), 
     choices=favorite_games_choices, 
    ) 

class LogonForm(forms.Form): 
    email = forms.EmailField(
    ) 
    password = forms.CharField(
     widget=forms.PasswordInput, 
     min_length=8, 
    ) 

models.py

class Games(models.Model): 
    guid = models.CharField(max_length=100, unique=True, null=False, verbose_name="GUID") 
    title = models.CharField(max_length=100, null=False, verbose_name="Titre") 
    logo = models.CharField(max_length=100, null=True, blank=True, verbose_name="Logo") 
    date = models.DateTimeField(auto_now_add=True, auto_now=False, verbose_name="Date de création") 
    update = models.DateTimeField(auto_now=True, verbose_name="Dernière modification") 
    def __str__(self): 
     return self.title 

class FavoriteGames(models.Model): 
    game = models.ForeignKey('Games') 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 
+0

私はあなたが望むものを正確に得ることはできません。フォームが保存され、ユーザーがフォームに戻ると、変更が保存され、表示されます。 views.py(フォームのレンダリング先) – hansTheFranz

+0

助けてくれて、私は説明を更新しました。私はそれが今より良いことを願っています。 – GrandGTO

答えて

0

あなたのviews.pyを更新する必要があり、ユーザーが含まれます。そうすれば、(FavoriteGamesを通して)データベースを照会して、ユーザーがチェックしたすべてのゲームを選択することができます。

結果クエリーセットは、ユーザーが以前に選択したゲームを反映するように、フォームをバインドするコンテキストとして渡すことができます。

関連する問題