Использование метода в модели для подсчета объектов, отфильтрованных по первичному ключу - PullRequest
0 голосов
/ 05 февраля 2010

Я хотел использовать метод как часть моей модели для подсчета всех вхождений объекта в другой таблице, которая ссылается на него как на внешний ключ.

Будет ли работать нижеследующее?

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

И соответствующая информация из списка воспроизведения модели:

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

1 Ответ

4 голосов
/ 05 февраля 2010

Когда вы создаете ForeignKey, Django создает обратную ссылку на ссылочную модель для вас, так что вы можете просто сделать:

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

См. http://docs.djangoproject.com/en/1.1/topics/db/queries/#backwards-related-objects.

...