使用模型中的方法计算由主键过滤的对象

时间:2010-02-05 14:36:04

标签: python django django-models

我想使用一个方法作为我的模型的一部分来计算另一个表中引用它作为外键的对象的所有出现次数。

以下是否有效?

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 个答案:

答案 0 :(得分:4)

当您创建ForeignKey时,Django会为您创建引用模型的backref,因此您可以这样做:

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

请参阅http://docs.djangoproject.com/en/1.1/topics/db/queries/#backwards-related-objects