Merge pull request #22 from Koed00/dev

decoding values_list on a picklefield is faster
This commit is contained in:
Ilan Steemers
2015-07-19 03:29:37 -07:00
+4 -2
View File
@@ -8,6 +8,7 @@ from django.db.models.signals import pre_save
from django.dispatch import receiver
from django.utils import timezone
from picklefield import PickledObjectField
from picklefield.fields import dbsafe_decode
class Task(models.Model):
@@ -32,8 +33,9 @@ class Task(models.Model):
@staticmethod
def get_result_group(group_id):
# values_list() doesn't work here cause it returns encoded fields
return [t.result for t in Task.get_task_group(group_id)]
# values + decode is 10 times faster than just list comprehension
values = Task.objects.filter(group=group_id).values_list('result', flat=True)
return [dbsafe_decode(t) for t in values]
@staticmethod
def get_task(task_id):