0

に奇妙な問題がありDjango-tables2ます。timestampと の 2 つの列を持つ単純なテーブルを作成しました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 [<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 の重複オブジェクトがあります。

何が悪いのか考えはありますか?

4

1 に答える 1

0

そのため、この問題の解決策を見つけましたが、何が原因なのかわかりません。

注文できるようにテーブルを構成しました。

@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)
于 2016-12-29T16:45:30.573 に答える