0

私のすべてのモデルには、get_absolute_url()以下のようなメソッドがありますが、django-debug-toolbar を使用すると、多くの SQL クエリが必要になることがわかります。

私のオブジェクトはツリー構造で関連付けられているため、レベル 3 のオブジェクトは、レベル 2 を介してどのレベル 1 のオブジェクトに関連付けられているかしか知りません。これらの多くの SQL クエリを回避するにはどうすればよいですか? 他のオブジェクトを介してオブジェクトを関連付けるのは悪い習慣ですか? CharFieldsレベル 3 モデルの場合と同様に、レベル 1 スラッグとレベル 2 スラッグを保存する必要がありますか?

@models.permalink
def get_absolute_url(self):
    return ('url_alias', None, {'level1': self.level2.level1.slug, 'level2': self.level2.slug, 'level3': self.slug})
4

1 に答える 1