我有以下模型,我需要找出有多少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()
答案 0 :(得分:3)
from django.db.models import Count
result = MyModel.objects.all().annotate(othermodel_count=Count('othermodel'))
关于aggregation features的Django doc。