Django-tables2 отображает одну и ту же первую и последнюю строку

У меня странная проблема Django-tables2. Я создал простую таблицу с двумя столбцами-timestampи description.

Проблема в том, что первый объект из QuerySetне отображается в таблице. Вместо первого объекта в этой строке копируется последний объект.

Введите описание изображения здесь

Теперь я заполняю эту таблицу Actionобъектами.

МОДЕЛЬ

class Action(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE,related_name='actions')
    description = models.TextField()
    timestamp = models.DateTimeField(auto_now_add=True)

    def __unicode__(self):
        return u"{} - {} {}".format(self.user, self.timestamp, self.description)

ВИД

@decorators.is_authenticated_or_homepage
def dashboard(request):
    print Action.objects.filter(user=request.user)
    recent_actions_table = RecentActionsTable(Action.objects.filter(user=request.user))
    context = {'user': request.user,
               'recent_actions_table':recent_actions_table}
    return render(request, 'main_app/dashboard/index.html', context=context)

ТАБЛИЦА

class RecentActionsTable(tables.Table):

    class Meta:
        model = Action
        fields = ('id','timestamp','description')
        attrs = {'id': 'id_recent_actions_table',
                 'class': 'table', }

Как вы можете видеть, я распечатал queryset перед созданием таблицы:

    <QuerySet [<Action: futilestudio - 2016-12-29 16:15:33.299000 New product created (6)>, 
<Action: futilestudio - 2016-12-29 16:53:29.534000 Manual scan of product>,
 <Action: futilestudio - 2016-12-29 17:05:38.215000 Manual scan of product>,
 <Action: futilestudio - 2016-12-29 17:27:05.462000 New product created (7)>]>

Первый объект отсутствует в таблице. Вместо этого дублируется объект с ID 5.

У вас есть какие-то идеи, что случилось?

1 ответ

  1. Таким образом, я нашел решение этой проблемы, но я не знаю, что вызвало его.

    Я только что настроил таблицу, чтобы разрешить заказ:

    @decorators.is_authenticated_or_homepage
    def dashboard(request):
        user = request.user
        recent_actions_table = RecentActionsTable(Action.objects.filter(user=request.user))
    
        # >>>>>>>>>>>> ADDED THE LINE BELOW <<<<<<<<<<<<<
        RequestConfig(request).configure(recent_actions_table)
    
        context = {'user': user,
                   'recent_actions_table':recent_actions_table}
        return render(request, 'main_app/dashboard/index.html', context=context)