私は次のモデルを持っています:
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 の映画を取得することです。