2016-06-25 4 views
1

С django-tables2 я пытаюсь установить идентификатор каждого элемента моей модели как «атрибут» каждого отдельного <td>, соответствующего определенному <tr>.Можно ли использовать первичный ключ строки как атрибут id для каждого <td> при использовании django-tables2?

Я использую 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' }}) 

Каждый атрибут правильного применения, за исключением «данных-рк». Есть ли способ получить первичный ключ внутри dict? Или любой другой способ установить этот атрибут с помощью django-tables2?

ответ

0

В настоящее время вы не можете сделать это на столбах, но вы можете на rows:

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

Что может сделать больше смысла в любом случае, так как запись отображается в строке, а не в одной ячейке таблицы в ряд.

Я могу видеть использование для вычисляемых attr s с аргументами в столбцах таблицы, поэтому, если вы решите, что вам это нужно, вы можете обратиться к open a Pull request.

+0

Спасибо за ответ @Jieter. Я сделал это, настроив table.html django-tables2. Должен был включить его в тег : '' –

 Смежные вопросы

  • Нет связанных вопросов^_^