.. _name: .. _display_name: .. _iommi_name: .. _iommi_path: `name`/`display_name`/`iommi_path` ----------------------------------------------- The different name concepts in iommi can be confusing, but each has a logical place. `name` ~~~~~~ The `name` is the name used in configuration for a part: .. code-block:: python class MyTable(Table): foo = Column() The `name` is "foo". There is a special situation when using deep dunder paths with :ref:`auto`: .. code-block:: python table = Table( auto__model=Track, auto__include=[ 'album__artist__name', ], ) Here the `name` of the column is `album_artist_name`, with the double underscore collapsed down to single underscores. This is because otherwise iommi can't know if `__` means "enter the configuration namespace of the `Column` object, or if it means "traverse the foreign key to go from one model to another". So in this situation, to further configure the artist name column, you need the configuration path `columns__album_artist_name`. `display_name` ~~~~~~~~~~~~~~ By default iommi will pick up `verbose_name` from your model if you use :ref:`auto`, and if there is no such information, it will take the `name` and capitalize it. If you want to override this you specify `display_name`: .. code-block:: python table = Table( auto__model=Track, auto__include=[ 'album__artist__name', ], columns__album_artist_name__display_name='Hello', ) .. raw:: html