summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-02-14 05:04:32 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-04-24 19:38:56 +0200
commitb1a03e9a8fc888a53dac7784f8733477f04c0ee4 (patch)
tree20497d2f1da523e97f1d0d0d9da8c5ee7226f08c /ishtar_common/models.py
parent6fcc2f83307966d43d80fba3f8f159c6b870d1d5 (diff)
downloadIshtar-b1a03e9a8fc888a53dac7784f8733477f04c0ee4.tar.bz2
Ishtar-b1a03e9a8fc888a53dac7784f8733477f04c0ee4.zip
Query optimization for JSON dynamic fields
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 962fc93a1..8c421bac7 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1276,9 +1276,9 @@ class JsonData(models.Model, CachedGen):
return value
choices = set()
splitted_key = key[len('data__'):].split('__')
- for obj in cls.objects.filter(
- data__has_key=key[len('data__'):]).values("data").all():
- value = obj['data']
+ q = cls.objects.filter(
+ data__has_key=key[len('data__'):]).values_list('data', flat=True)
+ for value in q.all():
for k in splitted_key:
value = value[k]
choices.add(value)