0

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

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)

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

更新:

因此,要按要求更新我的问题,这是如何定义联系人的...

模型.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

4

1 回答 1

3

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

有关更多详细信息,请参阅有关多对多关系的Django 文档。

于 2013-03-13T21:37:35.187 回答