From 453798c181576b8178e437d3d72f2a8ef9d5127b Mon Sep 17 00:00:00 2001
From: Fredrik Jonsson <frjo@xdeb.org>
Date: Thu, 20 Sep 2018 23:33:40 +0200
Subject: [PATCH] Only deserialise stream_data to avoid run of sql queries. A
 drop from 1070 to 33 queries.

---
 opentech/apply/funds/models/mixins.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/opentech/apply/funds/models/mixins.py b/opentech/apply/funds/models/mixins.py
index 54c23e415..d13c71f99 100644
--- a/opentech/apply/funds/models/mixins.py
+++ b/opentech/apply/funds/models/mixins.py
@@ -69,10 +69,12 @@ class AccessFormData:
     def deserialised_data(cls, data, form_fields):
         # Converts the file dicts into actual file objects
         data = data.copy()
-        for field in form_fields:
-            if isinstance(field.block, UploadableMediaBlock):
-                file = data.get(field.id, [])
-                data[field.id] = cls.process_file(file)
+        for field in form_fields.stream_data:
+            block = form_fields.stream_block.child_blocks[field['type']]
+            if isinstance(block, UploadableMediaBlock):
+                field_id = field.get('id')
+                file = data.get(field_id, [])
+                data[field_id] = cls.process_file(file)
         return data
 
     def get_definitive_id(self, id):
-- 
GitLab