Skip to content

Commit 9683444

Browse files
Merge pull request #5 from crodriguezgarci/feature/add_support_for_file_fields
Add support for file fields
2 parents 9465189 + c75a397 commit 9683444

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

django_remote_forms/forms.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from django_remote_forms import fields, logger
44
from django_remote_forms.utils import resolve_promise
55

6-
from django.forms import ModelMultipleChoiceField
6+
from django.forms import ModelMultipleChoiceField, FileField, ImageField
77

88
class RemoteForm(object):
99
def __init__(self, form, *args, **kwargs):
@@ -123,6 +123,7 @@ def as_dict(self):
123123

124124
initial_data = {}
125125
foreign_key_fields = []
126+
file_fields = []
126127
comma_separated_fields = []
127128

128129
for name, field in [(x, self.form.fields[x]) for x in self.fields]:
@@ -134,6 +135,8 @@ def as_dict(self):
134135
foreign_key_fields.append(name)
135136
elif type(field) in [fields.CommaSeparatedField]:
136137
comma_separated_fields.append(name)
138+
elif type(field) in [FileField, ImageField]:
139+
file_fields.append(name)
137140

138141
# Please refer to the Django Form API documentation for details on
139142
# why this is necessary:
@@ -185,4 +188,11 @@ def as_dict(self):
185188
else:
186189
form_dict['data'][field_name] = []
187190

191+
for field_name in file_fields:
192+
obj = form_dict['data'].get(field_name, None)
193+
if obj:
194+
form_dict['data'][field_name] = obj.url
195+
else:
196+
form_dict['data'][field_name] = None
197+
188198
return resolve_promise(form_dict)

0 commit comments

Comments
 (0)