I have a model form, to which I have added one extra field - is_flagged.
#forms.py
class UserForm(forms.ModelForm):
is_flagged = forms.BooleanField(required=False)
class Meta:
model = CustomUser
fields = ['username','is_flagged']
Now, because my user model does not have an attribute of 'is_flagged', I create this value for each user via a modified queryset.
#managers.py
class FlaggedUserManager(models.Manager):
def get_queryset(self):
qs = super(FlaggedUserManager, self).get_queryset().all()
for user in qs:
user.is_flagged = True
return qs
#user model
flagged_users = FlaggedUserManager()
Next, I create a modelformset using my custom queryset to populate the form.
base_formset = modelformset_factory(CustomUser, form=UserForm, extra=0)
formset = base_formset(queryset=CustomUser.flagged_users.all())
return {'formset': formset}
Everything works as expected, the field 'is_flagged' is rendered for all the users but the data isn't populating the form as the checkboxes rendered are all set to 0.
Can anyone suggest what I'm doing wrong, and how I might be able to populate this field from a modified queryset?
Thanks in advance,