python - Set value of field for Django ModelForm in CreateView -
i need set value of booleanfield django model via createview modelform. reason, setting in form_valid() isn't working.
here's model:
class feedback(models.model): was_satisifed = models.booleanfield( help_text='returns true if user exits process early.', default=false) here's view:
class feedbackactionmixin(object): model = feedback form_class = feedbackform def form_valid(self, form): instance = form.save(commit=false) instance.was_satisfied = true return super(feedbackactionmixin, self).form_valid(form) the form submits, "was_satisfied" value left @ default false. missing?
if memory serves, form_valid called after data has been posted. might try overriding post method on mixin:
class feedbackactionmixin(object): model = feedback form_class = feedbackform def post(self, request, *args, **kwargs): form_class = self.get_form_class() form = self.get_form(form_class) if form.is_valid(): form.was_satisfied = true return self.form_valid(form) else: return self.form_invalid(form)
Comments
Post a Comment