2017-06-03 28 views
0

使用SingleTableMixin,只有模型被傳遞給呈現的表。我評論了每一行,直到它破裂,** model = Stat是它工作所需的唯一東西。django-tables2排除不工作SingleTableMixin

我看到了類似的問題,但沒有具體的到我的情況,因爲表的渲染,只是沒有任何類的Meta信息,除了模型

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

'data'不是'Table.Meta'的有效屬性。 – Jieter

回答

0

您正在使用自定義context_table_name,並分配QuerySetStat.objects.all() )到get_context_data()的那個名字。這將使django-tables2呈現queryset的默認視圖,而不是您想要的自定義視圖(StatTable)。

您可以通過不將查詢集分配到context['stat_table']並使用ListView.get_queryset()來準備正確的查詢集以使用數據填充表來修復此問題。