在使用django-tables2时,是否可以将行的主键作为id属性应用于每个?

时间:2016-06-25 21:05:23

标签: django model primary-key django-tables2

使用django-tables2,我试图将我模型的每个元素的id设置为&#34;属性&#34;对应于特定<td>的每个<tr>

我在列属性定义中使用了dict,如下所示:

class MainTable(tables.Table):
    id = tables.Column()
    Client = tables.Column(attrs={'td': {
        'data-name': 'Client',
        'data-type': 'text',
        'data-pk': lambda record: record.pk,     
        'data-url': 'path/to/url',
        'data-placeholder': 'New Client',
        'data-title': 'New Client' }})

除了&#39; data-pk&#39;之外,每个属性都正确应用。有没有办法让主键进入dict?或者使用django-tables2设置此属性的任何其他方式?

1 个答案:

答案 0 :(得分:0)

目前,您无法在列上执行此操作,但您可以在rows上执行此操作:

class Table(tables.Table):
    class Meta:
        row_attrs = {
            'data-pk': lambda record: record.pk
        }

无论如何,这可能更有意义,因为记录映射到一行,而不是映射到一行中的单个表格单元格。

我可以看到有关表格列的参数的可计算attr的使用,所以如果你决定需要它,欢迎你open a Pull request