i'm using widget framework unfortunately moves inputs outside <form>
tags in dom. i'm therefore having create hidden inputs , set them javascript them passed in request.post
.
the trouble is, though i'm using "yes"
, "no"
, , "unknown"
values as per docs here, they're getting translated none
in cleaned_data
. here's example taken couple of print functions in relevant view:
request.post.urlencode()
n_var=yes&n_short=unknown&p_widget=unknown&n_long=yes&verbatim=blah ...
form.cleaned_data
{'n_var': none, 'n_short': none, 'p_widget': none, 'n_long': none, 'verbatim': 'blah' ...
the form modelform
, , saves fields aren't nullbooleanfield
fine. extract:
class myform(forms.modelform): n_var = forms.nullbooleanfield(required=false) n_short = forms.nullbooleanfield(required=false) p_widget = forms.nullbooleanfield(required=false) n_long = forms.nullbooleanfield(required=false) verbatim = forms.charfield(required=false, max_length=32) #saves fine
what's going on? how manually nullboolean data form?
the widget's display values 'unknown', 'yes', 'no'.
however, if @ source code, see submitted values '1', '2', , '3' (for 'unknown', 'yes', 'no' respectively).
you should use strings hidden inputs.
Comments
Post a Comment