Django:返回计数值

时间:2013-03-13 21:21:29

标签: django

使用以下代码我想返回这个有效的计数......

def contact_count(self):
    return len(self.contacts)

但是,如果len为0,则返回空白,我希望它为0。

所以我试过了

def contact_count(self):
    if len(self.contacts) == 0:
       return 0
    else:
      return len(self.contacts)

我有更好的方法来处理这个问题吗?

更新

所以要按照要求更新我的问题,这是联系人的定义方式......

models.py

class Groups(models.Model):
    name = models.CharField(max_length=60)

    def contact_count(self):
        return len(self.contacts)

class Contacts(models.Model):
    first_name = models.CharField(max_length=60)
    last_name = models.CharField(max_length=60)
    #FK
    groups = models.ManyToManyField(Groups, related_name='contacts')

如您所见,来自related_name

1 个答案:

答案 0 :(得分:3)

您应该使用self.contacts.count()

有关详细信息,请参阅许多关系的Django docs