1👍
✅
There are two possibilities:
model formsets and using a forms.ModelMultipleChoiceField with a CheckBoxSelectMultiple widget.
formsets
forms.py:
from django.forms import modelformset_factory
from yourapp.models import ActiveCertification
ActiveCertificationFormSet = modelformset_factory(ActiveCertification, fields=('certification', 'value',))
views.py
from django.shortcuts import render
from yourapp.forms import ActiveCertificationFormSet
from yourapp.models import ActiveCertification
def your_view(request, *args, **kwargs):
active_certs = ActiveCertivication.objects.filter(user=request.user)
context = {
'certification_formset': ActiveCertificationFormSet(
queryset=active_certs,
),
}
return render(request, 'certification_template.html', context)
ModelMultipleChoiceField
from django import forms
class CertificationForm(forms.Form):
certifications = forms.ModelMultipleChoiceField(
widget=forms.CheckBoxSelectMultiple(),
)
See the respective documentation linked above for more details.
Source:stackexchange.com