Opened 13 years ago

Last modified 4 years ago

#15725 new New feature

No easy way to get default model values into a ModelForm for validation

Reported by: Mark Jones Owned by: nobody
Component: Forms Version: 1.2
Severity: Normal Keywords:
Cc: Tom Christie, Sergey Fedoseev Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I have a Django modelForm that excludes some model fields so that when it is used on a web page, those fields are available. I'd like to use the same modelForm object on an API.

When I use the form on a webpage, the rendering of the form takes into account the default values of the model Field, the form is rendered and the submitted "final" form contains those values. Similarly I can do the same thing with an initial dict passed to the form during creation.

Problem is, when you expose a modelForm via an API there is no initial rendering of the default values to cause them to show up in the final submitted form. What this results in is is_valid returning false because the form "requires" fields that would have been filled in with their default values via the initial rendering of the form.

I've covered it all here with a possible fix:

http://stackoverflow.com/questions/5491452/how-to-get-model-default-values-into-django-form-so-that-is-valid-returns-true/5492397#5492397

Change History (7)

comment:1 by Luke Plant, 13 years ago

Type: New feature

comment:2 by Luke Plant, 13 years ago

Severity: Normal

comment:3 by Tom Christie, 13 years ago

Cc: Tom Christie added

comment:4 by Carl Meyer, 13 years ago

Component: UncategorizedForms
Triage Stage: UnreviewedAccepted

It seems reasonable to me that default values from model fields, if present, would be used as default values for missing keys in data for a bound form, before it is validated.

comment:5 by Aymeric Augustin, 12 years ago

UI/UX: unset

Change UI/UX from NULL to False.

comment:6 by Aymeric Augustin, 12 years ago

Easy pickings: unset

Change Easy pickings from NULL to False.

comment:7 by Sergey Fedoseev, 4 years ago

Cc: Sergey Fedoseev added
Note: See TracTickets for help on using tickets.
Back to Top