class Blog(models.Model):
pass
class Article(models.Model):
blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
b = Blog.objects.filter(...)
给出b
,是否可以通过单个查询找到相关文章的最高数量?
我可以通过以下方式做到这一点:
max_count = 0
for blog in b:
if b.article_set.count() > max_count:
max_count = b.article_set.count()
是否有使用ORM / SQL的更有效方法?
答案 0 :(得分:1)
您可以汇总,例如:
numpy_values = tuple(int(numpy.clip(channel + (intensity * factor), 0, 255)) for channel, factor in zip(pixel_color, factors))
这将生成如下查询:
from django.db.models import Count, Max
max_count = Blog.objects.annotate(
narticle=Count('article')
).aggregate(
max_count=Max('narticle')
)['max_count']