Djangoには、クエリセットの複雑なカスタムフィルタを書くための標準的な方法がありますか?私はこのような何かをしたいと思いますDjangoカスタムクエリセットフィルタ
MyClass.objects.all().filter(field=val)
を書くことができるのと同じように
:
MyClass.objects.all().filter(customFilter)
私はジェネレータ式
(x for x in MyClass.objects.all() if customFilter(x))
を使用することができますが、それを失うことになりますチェーン設定、およびQuerySetsが提供するその他の機能
私はこれが必要だと思います。しかし、飛行中にフィルタ関数を渡すことができるだけでは、非常に複雑に見えます。 – interstar
これはあまり複雑ではありません。カスタムマネージャを作るのは良い習慣です。特にdbなどのものをキャッシュする予定がある場合にはそうです。 – Vasil