0


0

モデル内のメソッドを使用して、主キーによってフィルタリングされたオブジェクトをカウントする

モデルの一部としてメソッドを使用して、それを外部キーとして参照する別のテーブル内のオブジェクトのすべての出現をカウントしたかったのです。

以下は機能しますか?

class Tile(models.Model):
    #...
    def popularity(self):
        return PlaylistItem.objects.filter(tile__exact=self.id).count()

そして、playlistitemモデルからの関連情報:

class PlaylistItem(models.Model):
    #...
    tile = models.ForeignKey(Tile)

1 Answer


4


`ForeignKey`を作成すると、Djangoは参照モデルにbackrefを作成するため、次のようにできます。

def popularity(self):
    return self.playlistitem_set.count()