Added verbose_name to columns from a model.
authorHarro van der Klauw <hvdklauw@gmail.com>
Tue, 12 Oct 2010 09:15:56 +0000 (11:15 +0200)
committerMichael Elsdörfer <michael@elsdoerfer.com>
Wed, 13 Oct 2010 16:56:25 +0000 (18:56 +0200)
django_tables/models.py
tests/test_models.py

index 17fd40e9210fe16c6d8066dd8425bb1785afa33a..b3ccb097a0e2e8d8fc546b1319e0c7ebb2e03bbf 100644 (file)
@@ -33,7 +33,7 @@ def columns_for_model(model, columns=None, exclude=None):
         if (columns and not f.name in columns) or \
            (exclude and f.name in exclude):
             continue
-        column = Column() # TODO: chose correct column type, with right options
+        column = Column(verbose_name=f.verbose_name) # TODO: chose correct column type, with right options
         if column:
             field_list.append((f.name, column))
     field_dict = SortedDict(field_list)
index 867ba30d18c4eb7aeccd730cc4e1c7747e6d44de..c87b142b42258c8c8ce7d57cdef411497213aa69 100644 (file)
@@ -103,6 +103,16 @@ class TestDeclaration:
                 columns = ('system', 'population', 'foo', 'tld',)
 
         assert [c.name for c in CountryTable().columns] == ['system', 'population', 'foo', 'tld']
+        
+    def test_columns_verbose_name(self):
+        """Tests that the model field's verbose_name is used for the column
+        """
+        class CountryTable(tables.ModelTable):
+            class Meta:
+                model = Country
+                columns = ('tld',)
+        
+        assert [c.verbose_name for c in CountryTable.columns] = ['Domain Extension']
 
 
 def test_basic():