Я пытаюсь сделать эту таблицу с кликабельным полем, которое изменяет логическое значение для входа в противоположное значение. Он работает, но я хочу, чтобы альтернативный текст, как «False» или «True», выглядел неплохо, а пользователи в основном норвежские.Django-tables2 - не могу ли я использовать [A ('argument')] внутри параметра «текст»?
def bool_to_norwegian(boolean):
if boolean:
return "Ja"
else:
return "Nei"
class OrderTable(tables.Table):
id = tables.LinkColumn('admin_detail', args=[A('id')])
name = tables.Column()
address = tables.Column()
order = tables.Column()
order_placed_at = tables.DateTimeColumn()
order_delivery_at = tables.DateColumn()
price = tables.Column()
comment = tables.Column()
sent = tables.LinkColumn('status_sent', args=[A('id')])
paid = tables.LinkColumn('status_paid', args=[A('id')], text=[A('paid')])
class Meta:
attrs = {'class': 'order-table'}
Если посмотреть под «платный» входом Я проверяю это прямо сейчас, почему я не могу получить доступ к данным с тем же аксессором, как я в аргументах? Если я изменю args на args = [A ('paid')] и посмотрю на ссылку, у нее действительно есть правильные данные. Имена моделей те же, что и в этой таблице, а «платные» и «отправленные» - это BooleanFields.
Это вроде того, что я в конечном счете хочу:
text=bool_to_norwegian([A('paid')])
Вот что я посылаю к столу:
orders = Order.objects.order_by("-order_delivery_at")
orders = orders.values()
table = OrderTable(orders)
RequestConfig(request).configure(table)
"Оплачен" и "отправленные" являются BOOLEANS да. Значения, которые я предоставляю таблице, - это список словарей, я могу, возможно, грубо сделать цикл for и изменить запись в словарях, чтобы читать на норвежском программном уровне вместо этого, но будет ли это более облагаться налогом, чем просто использовать функцию, как предусмотрено? Но я изменил таблицы, как вы сказали, и это забросило эту ошибку: \t Объект 'dict' не имеет атрибута 'paid'. Какой странный вид, как выглядит словарь: http://pastebin.com/driAQ0yv –
Используйте 'record ['paid']' - это должно работать. Я думал, что это объект вместо дикта. – solarissmoke
, который действительно работал, спасибо. Я попробовал сделать «A (« id »)», и он выбросил эту ошибку: «Входящий URLconf« 24 », похоже, не имеет в нем никаких шаблонов. Если вы видите допустимые шаблоны в файле, то проблема, вероятно, вызвана круговой импорт ». если вам было любопытно. –