diff --git a/tests/custom_lookups/models.py b/tests/custom_lookups/models.py
index 9841b36..df63fdd 100644
--- a/tests/custom_lookups/models.py
+++ b/tests/custom_lookups/models.py
@@ -1,3 +1,4 @@
+import calendar, time
 from django.db import models
 from django.utils.encoding import python_2_unicode_compatible
 
@@ -11,3 +12,15 @@ class Author(models.Model):
 
     def __str__(self):
         return self.name
+
+@python_2_unicode_compatible
+class UnixTimestamp(models.Model):
+    ts = models.PositiveIntegerField()
+
+    def save(self, *args, **kwargs):
+        if self.ts is None:
+            self.ts = calendar.timegm(time.gmtime())
+        super(UnixTimestamp, self).save(*args, **kwargs)
+
+    def __str__(self):
+        return self.name
diff --git a/tests/custom_lookups/tests.py b/tests/custom_lookups/tests.py
index c89b268..3e225c5 100644
--- a/tests/custom_lookups/tests.py
+++ b/tests/custom_lookups/tests.py
@@ -1,13 +1,13 @@
 from __future__ import unicode_literals
 
-from datetime import date
+from datetime import date, datetime
 import unittest
 
 from django.core.exceptions import FieldError
 from django.db import models
 from django.db import connection
-from django.test import TestCase
-from .models import Author
+from django.test import TestCase, override_settings
+from .models import Author, UnixTimestamp
 
 
 class Div3Lookup(models.Lookup):
@@ -150,6 +150,18 @@ class InMonth(models.lookups.Lookup):
                 (lhs, rhs, lhs, rhs), params)
 
 
+class DateTimeTransform(models.Transform): 
+    lookup_name = 'as_datetime'
+        
+    @property 
+    def output_field(self): 
+        return models.DateTimeField()
+
+    def as_sql(self, qn, connection): 
+        lhs, params = qn.compile(self.lhs) 
+        return 'from_unixtime({})'.format(lhs), params
+
+
 class LookupTests(TestCase):
     def test_basic_lookup(self):
         a1 = Author.objects.create(name='a1', age=1)
@@ -229,6 +241,21 @@ class LookupTests(TestCase):
             models.IntegerField._unregister_lookup(Div3Transform)
 
 
+@override_settings(USE_TZ=True)
+class DateTimeLookupTests(TestCase):
+    @unittest.skipUnless(connection.vendor == 'mysql', "MySQL specific SQL used")
+    def test_datetime_output_field(self):
+        models.PositiveIntegerField.register_lookup(DateTimeTransform)
+        try:
+            ut = UnixTimestamp.objects.create()
+            year_one = datetime(1, 1, 1)
+            self.assertQuerysetEqual(
+                UnixTimestamp.objects.filter(ts__as_datetime__gt=year_one),
+                [ut], lambda x: x)
+        finally:
+            models.PositiveIntegerField._unregister_lookup(DateTimeTransform)
+
+
 class YearLteTests(TestCase):
     def setUp(self):
         models.DateField.register_lookup(YearTransform)
