django-tables2 внешний URL linkColumn

У меня есть 2 атрибута модели - model.name и model.url. Мне нужно создать linkColumn, имя столбца = model.name и ссылку на URL-адрес, указанный в model.url.

Можно ли добиться такого?

Благодарность


person DjangoPy    schedule 03.11.2012    source источник
comment
Не понятно: вы хотите сделать запрос или внести какие-то изменения в имеющиеся у вас модели?   -  person sergzach    schedule 03.11.2012
comment
Я добился этого, создав пользовательский столбец, который отображает ссылку.   -  person DjangoPy    schedule 03.11.2012
comment
Нашел этот вопрос, когда искал что-то подобное. Добавил свое решение в качестве ответа.   -  person Jose Cherian    schedule 14.11.2012
comment
Я знаю, что это может быть старая публикация, но вы можете справиться с этим, создав представление и перенаправив пользователя на внешнюю ссылку. просто как тот   -  person Nabaz Maaruf    schedule 30.04.2020


Ответы (2)


Вы можете использовать TemplateColumn для достижения этой цели. Ваш table.py должен выглядеть примерно так

# yourapp/tables.py
import django_tables2 as tables
from yourapp.models import yourmodel
class YourTable(tables.Table):
    name = tables.TemplateColumn('<a href="{{record.url}}">{{record.name}}</a>')
    class Meta:
        model = yourmodel
        fields = ('name') # fields to display

Вы можете обратиться к DOC для получения дополнительной информации.

person Jose Cherian    schedule 14.11.2012
comment
Долго искал как это сделать! Документация не так понятна, как ваш пример, спасибо! - person Avagut; 20.10.2015

Я достиг этого, создав пользовательский столбец, который запрашивает базу данных и отображает ссылку из заданных атрибутов.

person DjangoPy    schedule 03.11.2012