def test_ordering_in_queryset(self):
class SampleModelListView(SmartListMixin, ListView):
model = SampleModel
list_display = ('title', 'category')
request = self.factory.get('/smart-lists/')
view = SampleModelListView(request=request)
self.assertEqual(view.get_ordering(), [])
request = self.factory.get('/smart-lists/?o=1')
view = SampleModelListView(request=request)
self.assertEqual(view.get_ordering(), ['title'])
request = self.factory.get('/smart-lists/?o=2.1')
view = SampleModelListView(request=request)
self.assertEqual(view.get_ordering(), ['category', 'title'])
request = self.factory.get('/smart-lists/?o=-2.1')
view = SampleModelListView(request=request)
self.assertEqual(view.get_ordering(), ['-category', 'title'])
request = self.factory.get('/smart-lists/?o=-wqdwd')
view = SampleModelListView(request=request)
self.assertRaises(
SmartListException,
view.get_ordering
)
request = self.factory.get('/smart-lists/?o=5')
view = SampleModelListView(request=request)
self.assertRaises(
SmartListException,
view.get_ordering
)
评论列表
文章目录