我有两个型号。
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
class Position(models.Model):
person = models.ForeignKey(Person)
description = models.CharField(max_length=50)
有没有办法可以计算出这种人物模型中有多少个位置?就像Person.position.count ..有点像这样。请帮我。这只是计算内部模型。请。
答案 0 :(得分:4)
是的,如果您有一个名为Person
的{{1}}个实例,则可以使用person
。
答案 1 :(得分:1)
无论如何,如果你想要获取所有对象的数量,或者从@MostafaR建议的外键集中获取。您应该在查询集上使用.count()
方法。如果您要查找的只是计数而不是对象,请确保不使用len()
,因为len()
方法将评估查询集。 More information here
models.Position.objects.all.count()
person = models.Person.objects.get(pk=1, **kwargs)
person.position_set.count()
答案 2 :(得分:0)
您需要在Person模型
中创建一个方法class Person(models.Model):
# ...
def position(self):
return self.position_set.count()