diff --git a/django_q/admin.py b/django_q/admin.py index 57f22d5..6e3c8ba 100644 --- a/django_q/admin.py +++ b/django_q/admin.py @@ -98,6 +98,9 @@ class QueueAdmin(admin.ModelAdmin): list_display = ( 'id', 'key', + 'task_id', + 'name', + 'func', 'lock' ) diff --git a/django_q/models.py b/django_q/models.py index de05408..e3037d3 100644 --- a/django_q/models.py +++ b/django_q/models.py @@ -10,6 +10,7 @@ from django.dispatch import receiver from django.utils import timezone from picklefield import PickledObjectField from picklefield.fields import dbsafe_decode +from django_q.signing import SignedPackage class Task(models.Model): @@ -193,6 +194,18 @@ class OrmQ(models.Model): payload = models.TextField() lock = models.DateTimeField(null=True) + def task(self): + return SignedPackage.loads(self.payload) + + def func(self): + return self.task()['func'] + + def task_id(self): + return self.task()['id'] + + def name(self): + return self.task()['name'] + class Meta: app_label = 'django_q' verbose_name = _('Queued task')