逆のManyToMany関係のフィルターされたバージョンを取得するための追加のマネージャーを作成したいと思います。私はこれらのモデルを持っています:Djangoでは、逆のManyToMany関係のカスタムカスタムマネージャを作成できますか?
class Photo(models.Model):
# ...
is_public = models.BooleanField()
albums = models.ManyToManyField('Album')
class Album(models.Model):
# ...
album.photo_set.all()
とアルバム内のすべての写真を取得できます。 album.photo_set.public()
(これは、どこかで、.filter(is_public=True)
となります)を実行して、の公開の写真をアルバム内でのみ取得する方法を提供したいと思います。
私は余分なRelated managerを提供したいと思いますが、それが可能であるかどうかはわかりません。私は、デフォルトの関連マネージャーを置き換えることを望まない、または必要としない(これはとにかく悪い考えのように思える)。私はそれを達成する唯一の方法でない限り、関係のためのモデルを通してカスタムを必要としません。
私はきれいに簡単なようだ。もちろん、この:)を、overthinkingたと思います。誰か他の素晴らしいアイデアが出てこない限り、私はこれを後で正しくマークします。ありがとうございます。 –