Django模型 - 选择相关计数

时间:2016-07-28 18:22:07

标签: django django-models

我有以下模型,我需要找出有多少OtherModel实例指向同一个MyModel实例。

public class advmessage
{
    public advmessage(size)
    {
        message = new string[size];//or whatever size you want.
    }
    public string[] message;
}

advmessage newadvmessage = new advmessage(5);
newadvmessage.message[1]= "Hello";

我可以使用for循环,但性能非常糟糕。有没有其他方法可以选择所有MyModel对象,并在一个查询中获取相关计数?

class MyModel(models.Model):
    int = models.SmallIntegerField()

class OtherModel(models.Model):
    other_model = models.ForeignKey(MyModel, null=True, blank=True)
    int = models.SmallIntegerField()

1 个答案:

答案 0 :(得分:3)

from django.db.models import Count

result = MyModel.objects.all().annotate(othermodel_count=Count('othermodel'))

关于aggregation features的Django doc。