summaryrefslogtreecommitdiff
path: root/tests/testapp/models
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-08-01 15:32:42 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-08-01 15:32:42 +0000
commit1a8fc57bf6e4b86fe047d04fea2efe50296634d0 (patch)
tree94a22a5f646fddfa22a3ef6fe73e8f9c1505b379 /tests/testapp/models
parent3aa33edeef66ae468eb10dd6b3d35e7053156c45 (diff)
Fixed #214 -- Added get_values() and get_values_iterator() module-level functions to DB API. Thanks, rmunn
git-svn-id: http://code.djangoproject.com/svn/django/trunk@359 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/testapp/models')
-rw-r--r--tests/testapp/models/lookup.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/testapp/models/lookup.py b/tests/testapp/models/lookup.py
index 6e8f61c225..4567b1f106 100644
--- a/tests/testapp/models/lookup.py
+++ b/tests/testapp/models/lookup.py
@@ -58,6 +58,26 @@ Article 4
>>> articles.get_in_bulk([1000])
{}
+# get_values() is just like get_list(), except it returns a list of
+# dictionaries instead of object instances -- and you can specify which fields
+# you want to retrieve.
+>>> articles.get_values(fields=['headline'])
+[{'headline': 'Article 4'}, {'headline': 'Article 2'}, {'headline': 'Article 3'}, {'headline': 'Article 1'}]
+>>> articles.get_values(pub_date__exact=datetime(2005, 7, 27), fields=['id'])
+[{'id': 2}, {'id': 3}]
+>>> articles.get_values(fields=['id', 'headline']) == [{'id': 4, 'headline': 'Article 4'}, {'id': 2, 'headline': 'Article 2'}, {'id': 3, 'headline': 'Article 3'}, {'id': 1, 'headline': 'Article 1'}]
+True
+
+# get_values_iterator() is just like get_values(), but it's a generator.
+>>> for d in articles.get_values_iterator(fields=['id', 'headline']):
+... i = d.items()
+... i.sort()
+... i
+[('headline', 'Article 4'), ('id', 4)]
+[('headline', 'Article 2'), ('id', 2)]
+[('headline', 'Article 3'), ('id', 3)]
+[('headline', 'Article 1'), ('id', 1)]
+
# Every DateField and DateTimeField creates get_next_by_FOO() and
# get_previous_by_FOO() methods.
>>> a3.get_next_by_pub_date()