From d48b88cd85c48d8d1f726549c7f1b8d9d0596e7b Mon Sep 17 00:00:00 2001 From: steve Date: Sun, 26 Jan 2014 13:59:32 -0500 Subject: [PATCH] Force verbose_name to be a unicode object In some cases, .model._meta.fields.verbose_name is a unicode object as expected, like: 'name' or 'Name of User' but other in cases, it is a python object representation, like: It is unclear why this is happening, but it turned up when trying to export just the column headers of an empty queryset. By calling unicode, it is forced to be the desired unicode object. --- djqscsv/djqscsv.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/djqscsv/djqscsv.py b/djqscsv/djqscsv.py index 32f30cd..3b38440 100644 --- a/djqscsv/djqscsv.py +++ b/djqscsv/djqscsv.py @@ -72,7 +72,7 @@ def write_csv(queryset, file_obj, field_header_map=None, # verbose_name defaults to the raw field name, so in either case # this will produce a complete mapping of field names to column names if use_verbose_names: - name_map = {field.name: field.verbose_name + name_map = {field.name: unicode(field.verbose_name) for field in queryset.model._meta.fields if field.name in field_names} else: