I have a table defined like this, where I want to apply custom rendering for a field:
import django_tables2 as tables
class SetTable(tables.Table):
class Meta:
model = Set
fields = (
"series.title",
)
def render_series_title(self, value):
return 'x'
For simple fields on the object itself (i.e. without a period) this works. But when there is a nested relationship (in this case, the Set model has a foreign key relationship to Series, and I want to display the Title field from the series), the custom rendering is not triggered. I have tried render_title, render_series_title, render_series__title, etc., and none of these gets called.
The table is specified as the table_class in a django_filters view, and is displaying the data fine, except that it is using the default rendering and bypassing the custom rendering function.
What am I missing?
You can use
accessorfor that:Unfortunately, I did not find where to see the documentation for it (there is some indication of accessor here), but I checked the source code about
ColumnandAccessorclasses.