Commits

Alon Burg  committed f94afd1
  • Participants
  • Parent commits 369f931

Comments (0)

Files changed (2)

File db/compiler.py

     def _build_query(self):
         if len(self.gae_query) > 1:
             for i in self.gae_query:
-                i.Order(self.gae_ordering)
+                i.Order(*self.gae_ordering)
             return MultiQuery(self.gae_query, self.gae_ordering)
         query = self.gae_query[0]
         query.Order(*self.gae_ordering)

File tests/backend.py

         self.assertEqual(A.objects.all()[0].value, 3)
         self.assertRaises(DatabaseError, B.objects.count)
         self.assertRaises(DatabaseError, lambda: B.objects.all()[0])
+
+    def test_in_sort(self):
+        class Post(models.Model):
+            writer = models.IntegerField()
+            order = models.IntegerField()
+        Post(writer=1, order=1).save()
+        Post(writer=1, order=2).save()
+        Post(writer=1, order=3).save()
+        Post(writer=2, order=4).save()
+        Post(writer=2, order=5).save()
+        import logging
+        posts = Post.objects.filter(writer__in= [1,2]).order_by('order')
+        logging.warn('posts %s' % (list(i.order for i in posts)))
+        self.assertEqual(posts[0].order, 1)
+        self.assertEqual(posts[1].order, 2)
+        self.assertEqual(posts[2].order, 3)
+        self.assertEqual(posts[3].order, 4)
+        self.assertEqual(posts[4].order, 5)
+        posts = Post.objects.filter(writer__in= [1,2]).order_by('-order')
+        logging.warn('posts %s' % (list(i.order for i in posts)))
+        self.assertEqual(posts[0].order, 5)
+        self.assertEqual(posts[1].order, 4)
+        self.assertEqual(posts[2].order, 3)
+        self.assertEqual(posts[3].order, 2)
+        self.assertEqual(posts[4].order, 1)
+