Вы можете переопределить значение по умолчанию в определении столбца.
Если вы явно не объявляете свой столбец (например, вы позволяете таблицам2 вычислять его из вашей модели), вам придется определить его, чтобы вы могли установить для него параметры. Это нормально делать с данными, поступающими из моделей... если имя столбца, которое вы определяете, соответствует имени поля модели, оно будет соответствовать им.
class TableClass(tables.Table):
mycolumn = tables.Column(default=' ')
Если вам нужно динамически определить значение по умолчанию для каждой строки, определите свой столбец и передайте empty_values=[], например:
class TableClass(tables.Table):
mycolumn = tables.Column(empty_values=[])
Это сообщает таблицам2, что они не должны считать какие-либо значения «пустыми». Затем вы можете объявить собственный метод рендеринга для этого столбца:
def render_mycolumn(value):
# This is a very simplified example, you will have to work out your
# own test for blankness, depending on your data. And, if you are
# returning html, you need to wrap it in mark_safe()
if not value:
return 'Nobody Home'
return value
Имейте в виду, что методы render_
не вызываются, если table2 считает значение пустым, поэтому вы также должны установить empty_values=[]
.
Вот документация по таблицам2, в которой описывается, как работают пользовательские методы рендеринга: http://django-tables2.readthedocs.org/en/latest/pages/custom-rendering.html?highlight=empty#table-render-foo-method
person
little_birdie
schedule
04.04.2016