我有一张表格。它为用户显示一个复选框列表。 因此,用户可以根据自己的选择选中任何复选框。
这个系统正在运作。
但是,我想向用户表明他之前做了什么选择。最简单的解决方案是检查之前选中的每个复选框。
所以我可以添加其他选项或删除之前的任何选项。
我希望对我的英语很清楚和抱歉:)
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 :(得分:0)
您必须更新views.py
并包含该用户。这样,您可以查询数据库(通过FavoriteGames)来选择用户选中的所有游戏(您已经知道,因为它已被记录)。
结果查询集可以作为上下文传递以绑定表单,以便它反映用户之前选择的游戏。