我有以下型号:
class Movie(models.Model):
item = models.OneToOneField(Item, primary_key=True)
class Item(models.Model):
...
class Popularity(models.Model):
item = models.OneToOneField(Item, primary_key=True)
today = models.IntegerField(default=0, db_index=True)
我想执行以下查询:
movies = Movie.objects.order_by('-item__popularity__today') \
.values(...)
paginator = Paginator(movies, 12)
但是,数据库中有大约 52,000 行,这需要 500-700 毫秒才能运行。有什么办法可以让这更快吗?我要做的是获取数据库中最受欢迎的 12 部电影。