我想使用Django为两个外键添加两个注释.我该怎么做


# models.py
from django.db import models
class Elephant(models.Model):
location = models.ForeignKey(Location, on_delete=models.CASCADE)
families = models.ForeignKey(Families, on_delete=models.CASCADE)
def add_families_and_locations_counts(elephants):
return elephants.annotate(
families_number=Count('families'),
location_number=Count('location')
)
# Run
output = add_families_and_locations_counts(elephants)

在上文中,计数不正确。如何获得正确的计数?

您想要计算不同的外键模型实例。

将注释功能更新为以下内容:

def add_families_and_locations_counts(elephants):
return elephants.annotate(
families_number=Count('families', distinct=True),
location_number=Count('location', distinct=True)
)

最新更新