jieter/django-tables2

Rendering a callable attribute value in a LinkColumn

Open

#858 opened on Aug 3, 2022

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Python (417 forks)batch import
Help wanted

Repository metrics

Stars
 (1,693 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Working example:

class OverviewTable(django_tables2.Table):
    label = django_tables2.LinkColumn(
        'details',
        args=[django_tables2.utils.A('pk')],
        attrs = {'td': {'id': lambda value: value}},
    )

Expected to work but not working example:

class OverviewTable(django_tables2.Table):
    label = django_tables2.LinkColumn(
        'details',
        args=[django_tables2.utils.A('pk')],
        attrs = {'a': {'id': lambda value: value}},
    )

Raises TypeError: <lambda>() missing 1 required positional argument: 'value' at this point: https://github.com/jieter/django-tables2/blob/7a30b0a1d8ab78f010df91af8fd5d31e411b8122/django_tables2/utils.py#L468

Surely, the documentation doesn't directly suggest that it works, but it seems reasonable to assume. Also the documentation doesn't give a clue that a callable is even supported here. Seems like an unfinished effort to make it work?

Contributor guide