Задать вопрос
@gorodetskiykp
горе-программист

Как сформировать таблицу из DetailView c использованием django_tables2?

Есть следующие модели:

class Group(models.Model):
    group_name      = models.CharField(max_length=250, verbose_name='Название объекта', help_text='Название объекта')
    date_create     = models.DateTimeField(verbose_name='Дата создания', auto_now_add=True)
    date_updated    = models.DateTimeField(verbose_name='Дата редактирования', auto_now=True)

class Message(models.Model):
    group           = models.ForeignKey(Group, verbose_name='Объект', null=True, blank=True, related_name='messages')
    message_text    = models.TextField(verbose_name='Замечание', help_text='Замечание')


Пока вывожу информацию так:

views.py

class DetailView(generic.DetailView):
    model = Group

    def get_object(self):
        object = super(DetailView, self).get_object()
        return object

    def get_context_data(self, **kwargs):
        context = super(DetailView, self).get_context_data(**kwargs)
        context['message_list'] = Message.objects.filter(group=self.get_object())
        return context

urls.py

url(r'^grp/(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),

group_detail.html

{% extends "ruik/base.html" %}
{% block head_title %} Детали | {{ block.super }} {% endblock %}
{% block content %}

<h1>{{ group.group_name }}</h1>
<p>
  <li>Время создания: {{ group.date_create }}</li>
  <li>Время изменения: {{ group.date_updated }}</li>
</p>

<p>
{% for message in message_list %}
  <li><a href="{% url 'mssgs:detail' message.id %}">{{ message.message_text }}</a></li>
{% endfor %}
</p>

{% endblock %}


Мне нужно вместо
{% for message in message_list %}
  <li><a href="{% url 'mssgs:detail' message.id %}">{{ message.message_text }}</a></li>
{% endfor %}


таблицу вывести с помощью django_tables2.

Отдельно с моделью Message через ListView все получилось. Думаю сейчас как сюда эту же таблицу вставить...
  • Вопрос задан
  • 141 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы