我在从数据库检索数据时遇到问题, 我正在使用 Mysql 数据库和一个包含 15 个字段的表,我将把它显示在表的模板上。
表中有超过400万条记录,
def index(request):
args = {}
data = Mymodel.objects.all()
args['data'] = data
return render(request, 'index.html', args)
我尝试了这种方式,但数据加载非常非常慢,
以及我尝试的数据库连接的下一个方法
def index(request):
args = {}
sql = "select * from mymodel"
cursor = connection.cursor()
cursor.execute(sql)
result = cursor.fetchall()
args['result'] = result
return render(request, 'index.html', args)
这也是一样的,我需要更快地加载数据。请向我建议任何可以更快地加载数据的方法。
最佳答案
解决方案之前的一个概念修正是,使用原始 sql 并不比 django ORM 更好,而且你也失去了使用 ORM api 轻松显示数据的能力。
常见的解决方案是使用 django 内置分页来每页仅显示一定数量的记录。 Django doc关于分页的使用有非常详细的解释。
关于mysql - Django 从数据库检索数据到模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37189023/