Python 在Django中显示多个表的最后结果
我试图在Django中显示多个表中的最新结果。所以基本上我会在我的页面上有很多div,每个div都有每个表中最新条目的值和时间 下面的代码只是我整理的一些基本想法,但不起作用 我试图做的是使用for循环遍历每个表,并将最新的表条目添加到变量项中。然后发送到HTML,HTML执行另一个for循环,用数据生成所有div Django有更简单的方法吗 非常感谢 view.pyPython 在Django中显示多个表的最后结果,python,html,mysql,django,Python,Html,Mysql,Django,我试图在Django中显示多个表中的最新结果。所以基本上我会在我的页面上有很多div,每个div都有每个表中最新条目的值和时间 下面的代码只是我整理的一些基本想法,但不起作用 我试图做的是使用for循环遍历每个表,并将最新的表条目添加到变量项中。然后发送到HTML,HTML执行另一个for循环,用数据生成所有div Django有更简单的方法吗 非常感谢 view.py for table in tables: itemName = getattr(models, 'Item{0
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
{%用于项目%中的项目]
{{表名}}
{{item.time}}
{{item.value}}
{%endfor%}
提高性能的一种方法是在一个表中只保存所有表的最新项,并通过添加类似itemType
的字段来区分它们。因此,您只需查询此表并在模板中循环它
如果您的项目表非常不同并且有不同的字段,那么在单个表中保存是不可行的。在这种情况下,我认为你所做的很好。我只会更改查询以获取最后一个条目,如:
item = itemName.objects.last()
你的问题有点让人困惑-你能再澄清一下你想做什么吗?谢谢。这实际上非常有趣,可能是答案,因为所有表都有完全相同的字段。
item = itemName.objects.last()