Update forms app

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-05-30 23:38:23 -04:00
parent 5ea0b02964
commit 757cf3d869
9 changed files with 253 additions and 7 deletions
+16
View File
@@ -172,6 +172,22 @@ class DynamicFormMixin(object):
kwargs.update(field_data.get('kwargs', {}))
self.fields[field_name] = field_class(**kwargs)
def get_dynamic_values(self):
# Consolidate the dynamic fields into a single dictionary.
cleaned_data = super(DynamicFormMixin, self).clean()
result = {}
for field_name, field_data in self.schema['fields'].items():
result[field_name] = cleaned_data.pop(
field_name, field_data.get('default', None)
)
return result
def set_dynamic_values(self, values):
for key in self.schema['fields']:
self.fields[key].initial = values.get(key, self.fields[key].initial)
class DynamicForm(DynamicFormMixin, forms.Form):
pass