mirror of
https://github.com/django-q2/django-q2.git
synced 2026-10-08 22:58:12 +08:00
Fixes backward compatibility problems with django-picklefield
This commit is contained in:
@@ -9,6 +9,6 @@ from .models import Task, Schedule, Success, Failure
|
||||
from .cluster import Cluster
|
||||
from .status import Stat
|
||||
|
||||
VERSION = (0, 6, 1)
|
||||
VERSION = (0, 6, 2)
|
||||
|
||||
default_app_config = 'django_q.apps.DjangoQConfig'
|
||||
|
||||
+10
-1
@@ -38,7 +38,7 @@ class Task(models.Model):
|
||||
values = Task.objects.filter(group=group_id).values_list('result', flat=True)
|
||||
else:
|
||||
values = Task.objects.filter(group=group_id).exclude(success=False).values_list('result', flat=True)
|
||||
return [dbsafe_decode(t) for t in values]
|
||||
return decode_results(values)
|
||||
|
||||
@staticmethod
|
||||
def get_group_count(group_id, failures=False):
|
||||
@@ -186,3 +186,12 @@ class Schedule(models.Model):
|
||||
verbose_name = _('Scheduled task')
|
||||
verbose_name_plural = _('Scheduled tasks')
|
||||
ordering = ['next_run']
|
||||
|
||||
|
||||
# Backwards compatibility for Django 1.7
|
||||
if hasattr(PickledObjectField, 'from_db_value'):
|
||||
def decode_results(values):
|
||||
return values
|
||||
else:
|
||||
def decode_results(values):
|
||||
return [dbsafe_decode(v) for v in values]
|
||||
|
||||
@@ -209,8 +209,8 @@ def test_async(broker, admin_user):
|
||||
assert fetch(result_j.name) == result_j
|
||||
assert result(result_j.name) == result_j.result
|
||||
# groups
|
||||
assert result_group('test_j') == [result_j.result]
|
||||
assert result_group('test_j', failures=True) == [result_j.result]
|
||||
assert result_group('test_j')[0] == result_j.result
|
||||
assert result_group('test_j', failures=True)[0] == result_j.result
|
||||
assert fetch_group('test_j')[0].id == [result_j][0].id
|
||||
assert fetch_group('test_j', failures=False)[0].id == [result_j][0].id
|
||||
assert count_group('test_j') == 1
|
||||
|
||||
Reference in New Issue
Block a user