使用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
答案 0 :(得分:0)
您使用的是自定义context_table_name
,并在QuerySet
中为该名称指定了Stat.objects.all()
(get_context_data()
)。这将使django-tables2呈现queryset
的默认视图,而不是您想要的自定义视图(StatTable
)。
您可以通过不将查询集分配给context['stat_table']
并使用ListView.get_queryset()
准备正确的查询集来使用数据填充表来解决此问题。