|
3 | 3 |
|
4 | 4 | from decimal import Decimal |
5 | 5 | from django.core.cache import cache |
| 6 | +from django.db import models |
6 | 7 | from django.test import TestCase |
7 | 8 | from django.utils import unittest |
8 | 9 | from django.utils.translation import ugettext_lazy as _ |
|
34 | 35 | ] |
35 | 36 |
|
36 | 37 |
|
| 38 | +class DummyTestModel(models.Model): |
| 39 | + name = models.CharField(max_length=42, default='') |
| 40 | + |
| 41 | + |
37 | 42 | class BasicRendererTests(TestCase): |
38 | 43 | def test_expected_results(self): |
39 | 44 | for value, renderer_cls, expected in expected_results: |
@@ -276,6 +281,20 @@ def test_render_lazy_strings(self): |
276 | 281 | ret = JSONRenderer().render(_('test')) |
277 | 282 | self.assertEqual(ret, b'"test"') |
278 | 283 |
|
| 284 | + def test_render_queryset_values(self): |
| 285 | + o = DummyTestModel.objects.create(name='dummy') |
| 286 | + qs = DummyTestModel.objects.values('id', 'name') |
| 287 | + ret = JSONRenderer().render(qs) |
| 288 | + data = json.loads(ret.decode('utf-8')) |
| 289 | + self.assertEquals(data, [{'id': o.id, 'name': o.name}]) |
| 290 | + |
| 291 | + def test_render_queryset_values_list(self): |
| 292 | + o = DummyTestModel.objects.create(name='dummy') |
| 293 | + qs = DummyTestModel.objects.values_list('id', 'name') |
| 294 | + ret = JSONRenderer().render(qs) |
| 295 | + data = json.loads(ret.decode('utf-8')) |
| 296 | + self.assertEquals(data, [[o.id, o.name]]) |
| 297 | + |
279 | 298 | def test_render_dict_abc_obj(self): |
280 | 299 | class Dict(MutableMapping): |
281 | 300 | def __init__(self): |
|
0 commit comments