Django休息模型与外键访问

时间:2016-03-03 11:40:45

标签: django-rest-framework

   class PortalContent(models.Model):
        movies =  models.ForeignKey(Movie, db_column="movies_id")
        portalID = models.IntegerField()
        projectID = models.IntegerField(default=0)
        contentType = models.CharField(max_length=100)
        licenseTerms = models.TextField()
        createDate = models.DateTimeField(auto_now=True)

我有上面的模型。这个模型有一个通过外键与电影模型相关的字段。

Now when I view the list /portalContent/1/

加载数据的时间超过2秒。电影表只有20K记录。 不知道为什么要花这么多时间。我使用了debug_toolbar并显示了一个查询,即从电影中选择*为1.6s。两个表都定义了索引。

任何人都可以指导我

1 个答案:

答案 0 :(得分:0)

谢谢@Demux

我们需要从视图支持的渲染器列表中删除可浏览的API渲染器。

你可以这样全球地做到这一点:

REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    )
}

或者基于每个观点,如此:

class MyView(...):
    renderer_classes = [renderers.JSONRenderer]