objects
可能であれば、不必要な複雑さなしにargs または kwargs を渡すことができるようにしたいと考えています。Model.objects('something').all()
またはのようになりますModel.objects('something').order_by('field')
。AManager 用にカスタマイズしようとしまし__init__
たが、動作しませんでした。そのため、適切な__init__
関数を記述するのと同じくらい簡単かもしれません。
私が行ったことは、次のようなカスタム Manager にメソッドを追加することです。
class AManager(models.Manager):
def example(self, arg):
self.example = arg
return self
class A(models.Model):
name = models.Charfield()
objects = AManager()
この例では、もちろんQuerySet に何らかの影響を与えない限りA.objects.example('name').all()
、通常の を返します。私がやりたいのは、チェーンされたフィルターごとに重複した引数を含める必要があるようなことを避けることです。A.objects.all()
example('name')
A.objects.custom_filter('name').another_filter('name')