变长多对多

variable length many to many

我想知道如何统计"keys"个"keyboard"

的个数
class Key(models.Model):
    name = models.CharField(max_length = 20)

class Keyboard(models.Model):
    name = models.CharField(max_length = 20)
    keys = models.ManyToManyField(Key)

我发现了一个类似的问题,但不知道是否可以根据我的需要进行修改,即多少个元素组成一个 ManyToMany

count values from manytomanyfield

要获取与 Keyboard 实例关联的 keys 个对象的计数,您可以使用 .count()

keyboard_object.keys.all()keyboard_object.

给出关联的 Key 个实例

我们现在对其应用 .count() 以获得与其关联的 Key 个对象的数量。

keyboard_object.keys.all().count() # gives the count

(即使 keyboard_object.keys.count() 也可以工作,除非更改默认的 Key 查询集。)