2015-12-08 24 views
0

我試圖在Django中的多個表中顯示最新結果。所以基本上,我最終會在我的頁面上出現很多Div,每個表格都有最新的值和時間。顯示Django中多個表的最後結果

下面的代碼只是我已經放在一起但不起作用的一些基本想法。

我想要做的是使用循環爲每個表,並添加最新的表項到變量項目。然後將其發送到HTML中,該HTML會爲循環創建所有Div以及數據。

Django有一個更簡單的方法嗎?

非常感謝!

view.py

for table in tables: 
     itemName = getattr(models, 'Item{0}'.format(table)) 
     item = itemName.objects.all()[:1] 

    return render(request, 'html/list_view.html', 
     {'item': item}) 

HTML來提高性能

{% for item in item %} 

<div> 
    <h1>{{ table name }}</h1> 
    <p>{{ item.time }}</p> 
    <p>{{ item.value }}</p> 
</div> 

{% endfor %} 
+0

你的問題有點令人困惑 - 你能澄清你想要做的更多嗎? – Hybrid

回答

0

一種方法是隻保存所有表的最新的項目在一個表中,並通過添加一個字段區分開來像itemType。所以你只需要查詢這個表格並在模板中循環它。

如果您的項目表格非常不同並且具有不同的字段,那麼在單個表格中保存將不可行。在這種情況下,我認爲你在做什麼是好的。我只會改變查詢來得到最後一個條目,如:

item = itemName.objects.last() 
+0

謝謝。實際上這非常有趣,可能是答案,因爲這些表格都具有完全相同的字段。 – Spinnaay