Django使用Inlines进行过多查询

时间:2018-03-21 16:03:40

标签: mysql django database performance inline

在我的Django模型中,我有一个C1类,其中包含对其他类的引用作为属性。因此每个类在数据库中都有一个专用表,C1的每个属性都是一个外键。我在admin.py中定义要在页面上显示的内容,对于C1的每个实例,我使用Inline来显示其每个属性。问题是,加载此类页面Django会产生许多mysql个查询,这些查询会随着类C1中属性的数量呈指数级增长,这些属性又是其他类的实例。这导致过多的等待延迟。我的当务之急是以有效的方式减少这种延迟。这个问题可能被视为该帖子的重复:Slow performance for Django admin inline。但是我不确定接受的解决方案是否是最佳的。由于我在这里有点困惑,我会问一些天真的问题:

  • 一般来说,显示许多类的属性是一个可行的解决方案吗?

  • 我是否应该创建其他页面来显示和操作所述类的非常具体和有针对性的元素/属性?

  • 我应该做一些数据库方面的工作并了解哪些是冗余查询Django,以便在我的数据库中手动创建视图并将所有Django查询减少到更简单那些?我认为这会在没有关心数据库的情况下打败Django开发网站的目的之一,但无论如何我都会这样做

  • 还能做什么吗?

0 个答案:

没有答案