diff --git a/djcelery_model/models.py b/djcelery_model/models.py
index <HASH>..<HASH> 100644
--- a/djcelery_model/models.py
+++ b/djcelery_model/models.py
@@ -1,8 +1,10 @@
 # -*- coding: utf-8 -*-
+from __future__ import unicode_literals
 from django.db import models
 from django.db.models import Q
 from django.db.models.query import QuerySet
 from django.contrib.contenttypes.models import ContentType
+from django.utils.encoding import python_2_unicode_compatible
 
 try:
     # Django >= 1.7
@@ -59,6 +61,7 @@ class ModelTaskMetaManager(ModelTaskMetaFilterMixin, models.Manager):
     def get_queryset(self):
         return ModelTaskMetaQuerySet(self.model, using=self._db)
 
+@python_2_unicode_compatible
 class ModelTaskMeta(models.Model):
     STATES = (
         (ModelTaskMetaState.PENDING, 'PENDING'),
@@ -77,9 +80,6 @@ class ModelTaskMeta(models.Model):
 
     objects = ModelTaskMetaManager()
 
-    def __unicode__(self):
-        return u'%s: %s' % (self.task_id, dict(self.STATES)[self.state])
-
     def __str__(self):
         return '%s: %s' % (self.task_id, dict(self.STATES)[self.state])
Simplify Python 2 and 3 unicode compatibility