Skip to content

Commit 679b5c2

Browse files
author
Steve Lamb
committed
Merge pull request #77 from RickMohr/extra-with-header-map
When creating header map, add extra column defaults before adding `field_header_map`
2 parents 7dc24fe + 314be98 commit 679b5c2

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

djqscsv/djqscsv.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ def write_csv(queryset, file_obj, **kwargs):
116116

117117
# merge the custom field headers into the verbose/raw defaults, if provided
118118
merged_header_map = name_map.copy()
119-
merged_header_map.update(field_header_map)
120119
if extra_columns:
121120
merged_header_map.update(dict((k, k) for k in extra_columns))
121+
merged_header_map.update(field_header_map)
122122

123123
merged_header_map = dict((k, _safe_utf8_stringify(v))
124124
for (k, v) in merged_header_map.items())

test_app/djqscsv_tests/tests/test_csv_creation.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,20 @@ def test_extra_select_ordering(self):
271271
self.assertQuerySetBecomesCsv(self.qs, custom_order_csv,
272272
field_order=['id', 'Most Powerful'])
273273

274+
def test_extra_select_header_map(self):
275+
csv_with_extra = SELECT(self.BASE_CSV,
276+
AS('id', 'ID'),
277+
AS('name', "Person's name"),
278+
'address',
279+
AS('info', 'Info on Person'),
280+
'hobby_id',
281+
'born',
282+
AS('Most Powerful', 'Sturdiest'))
283+
284+
self.assertQuerySetBecomesCsv(
285+
self.qs, csv_with_extra,
286+
field_header_map={'Most Powerful': 'Sturdiest'})
287+
274288
class RenderToCSVResponseTests(CSVTestCase):
275289

276290
def test_render_to_csv_response_with_filename_and_datestamp(self):

test_app/manage.py

100644100755
File mode changed.

0 commit comments

Comments
 (0)