@達爾布謝謝你,這個選項完美的作品。不過,我想知道是否有什麼辦法做到這一點使用accesors,而不是黑客一個文本列輸出HTML ......
在我來說,我使用
# tables.py
from django.core.urlresolvers import reverse
from django.utils.safestring import mark_safe
#...
class FieldTable(tables.Table):
allows__count = tables.LinkColumn(viewname=None, attrs={'td': {'class': 'leftA'}},
verbose_name='No. of Allowed values')
def __init__(self, *args, **kwargs):
super(FieldTable, self).__init__(*args, **kwargs)
def render_allows__count(self, value, record):
if value!=0:
a = reverse(viewname='dict:field_detail',
kwargs=
{'field_slug': record.slug,
'extract_slug': record.extract.slug,
'system_slug': record.extract.system.slug})
return mark_safe('<a href={}>{}</a>'.format(a, value))
不過,我想,以取代mark_safe ,對於一些要求allows__count的訪問,並返回反向超鏈接和值...
反正適用於專門
太好了!我不知道有一個存儲整個記錄的特殊對象,可以通過將其作爲參數傳遞來訪問它。順便說一句,你的第二個猜測是正確的,它是一個字典,它必須由記錄['id']訪問。非常感謝! – noplacetoh1de 2012-02-04 13:25:34
「記錄」是您的數據中的任何類型的對象。如果你使用'dict'數組,那麼'record'將是一個'dict'。 – 2012-02-05 18:25:09