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

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -

django - CSRF verification failed. Request aborted. CSRF cookie not set -