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)

これを処理するより良い方法はありますか?

アップデート:

したがって、質問に応じて私の質問を更新するには、これが連絡先の定義方法です...

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 から来ているかどうか

4

1 に答える 1

3

を使用する必要がありますself.contacts.count()

詳細については、多対多の関係に関するDjango ドキュメントを参照してください。

于 2013-03-13T21:37:35.187 に答える