毎回データベースにアクセスすることなく、Model オブジェクトのコレクションから簡単にフィルター処理する方法を探しています。定義上、QuerySet は遅延型であり、常に DB にアクセスします。だから、これを行うことができるものが存在するかどうか疑問に思っています。そうでない場合は、おそらく作成するのに適したライブラリです。
例えば:
all_records = object_set(Record.objects.filter(company=user.company))
object_set
QuerySet 内のすべてのオブジェクトを静的データとして収集する仮想関数です。その結果、QuerySet フィルターと同様にフィルターを実行できる「オブジェクト マネージャー」インスタンスが作成されます。これは、データの多次元リストからのデータに基づいて、オブジェクトの作成、更新、および削除を格納する場合に特に役立ちます。
for row in data:
for col in row:
# this would not hit the DB. Only filter within the "object_set" in memory.
all_records.filter(date=col.date, type=col.type, creator=col.user)
これを間違った方法で解決しようとしている可能性があることは理解していますが、それでも、これは Django で使用できる優れたツールになると思います。この問題を解決する Django 内の既存のライブラリまたは機能を知っている人はいますか? 前もって感謝します!