2016-12-04 4 views
0

Таблицы Django2, по-видимому, показывают дублированные результаты для верхней строки и последней строки.Django Tables2 дублированные результаты

E.g.

База данных записей показывает:

ID|Name|User  
1|test1|1 
2|test2|1 

Однако таблица показано на вебсайте:

ID|Name|User 
2|test2|1 
1|test1|1 
2|test2|1 

Не знаю, почему это происходит. Не могли бы вы помочь?

views.py

class ReportsView(ListView): 
    model = Reports 
    template_name = 'reports.html' 

    def get_context_data(self, **kwargs): 
     context = super(ReportsView, self).get_context_data(**kwargs) 
     login_user = self.request.user 
     context['reports_table'] = ReportsTable(Reports.objects.filter(user=login_user)) 
     return context 

models.py

class Reports(models.Model): 
    user = models.ForeignKey(User) 
    name = models.CharField(max_length=30) 
    description = models.CharField(max_length=50) 

    def __str__(self): 
     return self.name 

    def get_absolute_url(self): 
     return reverse('edit_report', kwargs={'pk': self.pk}) 

tables.py

class ReportsTable(tables.Table): 
    class Meta: 
     model = Reports 
     attrs = {'class': 'table table-bordered'} 

reports.html

{% load render_table from django_tables2 %} 
{% render_table reports_table %} 

ответ

0

Похоже, вы не единственный, столкнувшийся с такими problem. Попробуйте установить orderable = False:

class ReportsTable(tables.Table): 
    class Meta: 
     model = Reports 
     attrs = {'class': 'table table-bordered'} 
     orderable = False 
+0

спасибо за ссылку! К сожалению, orderable = False не работает. Попробует понизить. – Lynnie

+0

Yup понижен до 1.2.1, и он работает! – Lynnie