Форум сайта python.su
Доброго времени суток. У меня не получается скрыть колонку при рендеринге таблицы. Подскажите что не так делаю. Заголовки колонок нормально переопределяются.
view.py
def table(request): newTable = PersonTable newTable = SmsTel.objects.filter(user=request.user) for item in newTable: split = item.separator.separators rawstring = item.text.split(split) item.text = rawstring[0] return render(request, "profile/table.html", {"table": newTable })
import django_tables2 as tables from .models import SmsTel from django.forms import ModelForm class PersonTable(tables.Table): from_phone = tables.Column(verbose_name="from phone") to_phone = tables.Column(verbose_name="to phone") text = tables.Column(verbose_name="text") date = tables.Column(verbose_name="date") timestamp = tables.Column(verbose_name="timestamp") user = tables.Column(verbose_name="user") separator = tables.Column(verbose_name="separator") class Meta: model = SmsTel exclude = ('user',)
from django.db import models from django.contrib.auth.models import User import django_tables2 as tables class SeparatorsUser(models.Model): separators = models.CharField(max_length=20, default=',') def __unicode__(self): return self.separators class SmsTel(models.Model): from_phone = models.CharField(max_length=20) to_phone = models.CharField(max_length=20) text = models.CharField(max_length=20) date = models.DateTimeField(blank=False) timestamp = models.DateTimeField(blank=False, auto_now_add=True) separator = models.ForeignKey(SeparatorsUser) user = models.ForeignKey(User,) def __unicode__(self): return self.text
Офлайн
Notan1310... newTable = PersonTable newTable = SmsTel.objects.filter(user=request.user) ...
def table(request): newTable = PersonTable(SmsTel.objects.filter(user=request.user)) RequestConfig(request).configure(newTable) return render(request, "profile/table.html", {"table": newTable })
Офлайн
Спасибо. Так сработало, но стили таблицы исчезли. А вы знаете почему как описано в документаций не срабатывает?
Офлайн
Notan1310У Вас в этом куске кода идет переопределение переменной и в контекст попадает queryset, а не PersonTable:
А вы знаете почему как описано в документаций не срабатывает?
... newTable = PersonTable newTable = SmsTel.objects.filter(user=request.user) ...
class PersonTable(tables.Table): ... class Meta: model = SmsTel exclude = ('user',) attrs = {"class": "YOUR_CLASS"} # <-- добавляем класс к таблице
Офлайн