test_querysetsequence.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:django-querysetsequence 作者: percipient 项目源码 文件源码
def test_order_by_queryset(self):
        """Ensure we can order by QuerySet and then other fields."""
        # Order by title, but don't interleave each QuerySet.
        with self.assertNumQueries(0):
            qss = self.all.order_by('#', 'title')
        self.assertEqual(qss.query.order_by, ['#', 'title'])
        self.assertEqual(
            qss.query._querysets[0].query.order_by,
            ('title',) if DJANGO_VERSION >= (2,) else ['title'],
        )

        # Ensure that _ordered_iterator isn't called.
        with patch('queryset_sequence.QuerySequence._ordered_iterator',
                   side_effect=AssertionError('_ordered_iterator should not be called')):
            # Check the titles are properly ordered.
            data = [it.title for it in qss]
            expected = [
                # First the Books, in order.
                'Biography',
                'Fiction',
                # Then the Articles, in order.
                'Alice in Django-land',
                'Django Rocks',
                'Some Article',
            ]
            self.assertEqual(data, expected)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号