Skip to content Skip to sidebar Skip to footer

Get A Multiple Choice Queryset In Django View And Save It

I have a multiple choice field with a foreign key. I want to save which keeper was attending a training session and I want to list all keepers as a multiple choice field. class Add

Solution 1:

You don't want a multiple choice field; you want a single choice. Only one keeper can be associated with each Attendance object.

You are doing a bunch of strange and unnecessary things here. You should remove most of this code, and use the ModelChoiceField which is the default for a ForeignKey. You don't want a checkbox widget either, since again that is for multiple choices; perhaps a radiobutton would be suitable.

classAddAttendance(forms.ModelForm):
    classMeta:
        model = Attendance
        fields = ('keeper',)
        widgets = {'keeper': forms.RadioSelect}
    # remove the __init__ and the field definitions, you don't need them

...

form = AddAttendance(request.POST)
if form.is_valid():
    attendance = item.save(commit=False)
    attendance.team = get_object_or_404(Team, pk=team_pk)
    attendance.created_date = timezone.now()
    attendance.save()
    return redirect(reverse('select_package', args=[package_pk, team_pk]))

There's no need to set the keeper explicitly in the view, since that's what the form is doing.

Post a Comment for "Get A Multiple Choice Queryset In Django View And Save It"