@达尔布谢谢你,这个选项完美的作品。不过,我想知道是否有什么办法做到这一点使用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