django-tables2:动态添加列/字段

时间:2015-08-19 11:23:58

标签: python django django-tables2

当有人检查我的网页中的选项时,我想添加一个新字段("添加列'外部ID'")

table = IssueTable(issue_list)
show_ext = request.GET.get('show_ext', 0)
if show_ext:
    table._meta.fields = table._meta.fields + ('external_id',)

我认为这是解决方案,但我没有成功。 external_id是模型的一部分。 table._meta.fields没有得到更新,当然,当渲染这个列时,我看不到表中的列。

class IssueTable(tables.Table):

    def render_id(self, value, record):
        if record.status.upper() in ['RESOLVED', 'INVALID']:
            return mark_safe('<a href="%s"><s>#%s</s></a>' % (reverse('issues.views.view', args=(record.pk,)), record.pk))
        else:
            return mark_safe('<a href="%s">#%s</a>' % (reverse('issues.views.view', args=(record.pk,)), record.pk))

    def render_title(self, value, record):
        return mark_safe('<a href="%s">%s</a>' % (reverse('issues.views.view', args=(record.id,)), value))

    class Meta(object):
        model = Issue
        fields = ('id', 'title', 'product', 'type', 'priority', 'status', 'created')
        attrs = {'class': 'table table-bordered'}
        empty_text = _('No records found')

有什么想法吗?

0 个答案:

没有答案