0

我有一个表格。它为用户显示一个复选框列表。因此用户可以根据自己的选择选中任何复选框。

该系统正在运行。

但是,我想向用户说明他之前所做的选择是什么。最简单的解决方案是检查之前选择的每个复选框。

例如,我第一次必须选择:在此处输入图像描述

当我的选择很好并且如果我回去编辑我的选择时,它可能是这样的:在此处输入图像描述

所以我可以添加另一个选项或删除任何以前的选项。

我希望我的英语很清楚,很抱歉:)

表格.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, 
    )   

模型.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)
4

1 回答 1

0

您必须更新您的views.py并包括用户。这样,您可以查询数据库(通过 FavoriteGames)以选择用户检查的所有游戏(您已经知道,因为它已记录)。

结果查询集可以作为上下文传递以绑定表单,以便它反映用户先前选择的游戏。

于 2017-06-18T04:01:55.757 回答