i have floatfield in models.py has store (among other things) minutes, seconds , milliseconds. it's no biggie store them in format of ss.ms, have provide possibility insert them via modelform in format of mm.ss.ms.
problem is, form validation disapproves of mm.ss.ms floatfield , i'm struggling find workaround.
_clean functions great, run after django validations. how clean data form before gets validated django?
edit:
models.py
from django.db import models class result(models.model): date = models.datefield() result = models.floatfield() rank = models.integerfield(blank=true, null=true) forms.py
class addresult(forms.modelform): class meta: model = result fields = ('result', 'rank', 'date') def __init__(self, *args, **kwargs): self.profile = kwargs.pop('profile', none) super(addresult, self).__init__(*args, **kwargs) self.helper = formhelper() self.helper.label_class = 'form-label-div' self.helper.field_class = 'form-field-div' self.helper.label_class = 'col-xs-4' self.helper.field_class = 'col-xs-8' self.helper.layout = layout( div( div( 'result', css_class="col-xs-4", ), div( 'rank', css_class="col-xs-4", ), css_class="row", ), div( div( 'date', css_class="col-xs-4", css_id="date-picker" ), div( css_class="col-xs-4", css_id="date-picker" ), css_class="row", ) ) def save(self, commit=true): result = super(addresult, self).save(commit=false) if self.profile: result.profile = self.profile result.save() ps! wrote had problematic integerfield, kind of brain fart. we're talking floatfield of course. main question remains same.
i suggest not use models forms instead use forms.form , in view before ** form.is_valid() ** try retrieve form fields of request method. may helps.
Comments
Post a Comment