django-tables2排除不工作的SingleTableMixin

时间:2017-06-03 23:51:19

标签: django django-tables2

使用SingleTableMixin,只有模型被传递给渲染表。我评论了每一行,直到它崩溃,** model = Stat是它唯一需要工作的东西。

我看到了类似的问题但是我的情况没有什么特别的,因为表格是渲染的,只是没有任何类型的信息,除了模型

tables.py

class StatTable(tables.Table):

class Meta:
    model = Stat
    data = Stat.objects.all()
    exclude = ('id',)
    attrs = {'class': 'table table-hover table-condensed'}

views.py

class StatTableMixin(SingleTableMixin):
    table_class = StatTable
    context_table_name = 'stat_table'

class AircraftList(ListView, StatTableMixin):
    model = Aircraft
    template_name = "aircraft/aircraft_list.html"

def get_context_data(self, **kwargs):
    context = super(AircraftList, self).get_context_data(**kwargs)
    context['title'] = "D-> | Aircraft"
    context['stat_table'] = Stat.objects.all()
    return context

1 个答案:

答案 0 :(得分:0)

您使用的是自定义context_table_name,并在QuerySet中为该名称指定了Stat.objects.all()get_context_data())。这将使django-tables2呈现queryset的默认视图,而不是您想要的自定义视图(StatTable)。

您可以通过不将查询集分配给context['stat_table']并使用ListView.get_queryset()准备正确的查询集来使用数据填充表来解决此问题。

相关问题