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

Python django-tables2:动态添加列/字段,python,django,django-tables2,Python,Django,Django Tables2,当有人在我的网页中选中一个选项时,我想添加一个新字段(“添加列‘外部id’”) 我认为这样做是解决问题的办法,但我没有成功。外部id是模型的一部分。table.\u meta.fields不会得到更新,当然,在呈现此字段时,我看不到表中的列 class IssueTable(tables.Table): def render_id(self, value, record): if record.status.upper() in ['RESOLVED', 'INVALI

当有人在我的网页中选中一个选项时,我想添加一个新字段(“添加列‘外部id’”)

我认为这样做是解决问题的办法,但我没有成功。外部id是模型的一部分。table.\u 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')
可发布的类(tables.Table):
def render_id(自身、值、记录):
如果['RESOLVED','INVALID']中的record.status.upper()为:
返回mark_safe(“”%(反向('issues.views.view',args=(record.pk,)),record.pk))
其他:
返回mark_safe(“”%(反向('issues.views.view',args=(record.pk,)),record.pk))
def render_标题(自身、值、记录):
返回mark_safe(“”%(反向('issues.views.view',args=(record.id,)),value))
类元(对象):
模型=问题
字段=(“id”、“标题”、“产品”、“类型”、“优先级”、“状态”、“已创建”)
attrs={'class':'table-table-bordered'}
空的\u文本=\u('未找到记录')

有什么想法吗?

这不是一个理想的解决方案,但是您可以根据
show\u ext
生成字段列表。我不知道在表初始化后如何添加字段,或者是否有可能添加字段。@Alasdair是的,这就是想法!创建表后生成该字段/列。这不是理想的解决方案,但您可以根据
show\u ext
生成字段列表。我不知道在表初始化后如何添加字段,或者是否有可能添加字段。@Alasdair是的,这就是想法!在创建表后生成该字段/列。
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')