当将一个有models.ManyToManyField
字段的模型Model1
呈现给另一个数据库中有~50K个条目的模型Model2
时,默认可浏览的HTML呈现大约需要3s来回答,而JSON呈现大约需要30ms。你知道吗
打开Django调试工具栏,显示以下SQL请求:
SELECT `app_model2`.`id`, `app_model2`.`field1` ... FROM `app_model2`;
几乎需要2秒。你知道吗
有没有办法阻止渲染执行如此昂贵的SQL请求?
在我们的例子中,我们并不期望仅仅呈现这些Model2
条目中的id
。你知道吗
我假设您在django admin中使用它,并且您在那里有一个多选字段。如果是这种情况,您可以使用
raw_id_fields
来阻止获取所有选项。 https://docs.djangoproject.com/en/2.0/ref/contrib/admin/相关问题 更多 >
编程相关推荐