Django で最も効率的な方法でかなり複雑なクエリを実行しようとしていますが、開始方法がわかりません。私はこれらのモデルを持っています (これは簡略化されたバージョンです)
class Status(models.Model):
status = models.CharField(max_length=200)
class User(models.Model):
name = models.CharField(max_length=200)
class Event(models.Model):
user = models.ForeignKey(User)
class EventItem(models.Model):
event = models.ForeignKey(Event)
rev1 = models.ForeignKey(Status, related_name='rev1', blank=True, null=True)
rev2 = models.ForeignKey(Status, related_name='rev2', blank=True, null=True)
active = models.BooleanField()
すべての従属 EventItems が空白rev1
でも nulland でもないイベントが最も多い User のリストを生成するクエリを作成したいと考えています。rev2
active = True
ユーザーのリストを反復処理し、一致するrev1
、rev2
、およびactive
条件についてすべてのイベントをチェックして、それらのイベントを返すことでこれを実行できることはわかっていますが、これはデータベースに負担がかかります。助言がありますか?
ありがとう!