1

カスタム QuerySet サブクラスを定義し、django-model-utils を使用してモデルにアタッチしようとしています。以前の Django バージョン (私は 1.9 を使用しています) では 、次のコードでPassThroughManagerを使用してこれを実現していました。

from model_utils.managers import PassThroughManager

class FooQuerySet(models.query.QuerySet):
    def my_custom_query(self):
        return self.filter(...)

class Foo(models.Model):
    # fields go here..

    objects = PassThroughManager.for_queryset_class(FooQuerySet)

前述のよう

PassThroughManager は django-model-utils 2.4 で削除されました。代わりに、Django の組み込み QuerySet.as_manager() および/または Manager.from_queryset() ユーティリティを使用してください。

私はコードを書き直そうとしました (申し訳ありませんが、あまりにもばかげているように見えますが、締め切りに間に合うようにやみくもに考えている数か月の経験があります)。

class FooQuerySet(models.query.QuerySet):
    def my_custom_query(self):
        return self.filter(...)

class Foo(models.Model):
    # fields go here...
    objects = QuerySet.as_manager(FooQuerySet)

今のところ、私は終わったTypeError: as_manager() takes exactly 1 argument (2 given)。誰でも正しい構文で光を当てることができますか?

4

1 に答える 1