Python 如何在Django中找到相关_集最小的对象?
我有一个djano模型:Python 如何在Django中找到相关_集最小的对象?,python,django,Python,Django,我有一个djano模型: class Expiration(models.Model): UNIT_CHOICES = ( ('M', 'Month'), ('W', 'Week') ) unit = models.CharField(max_length = 1, choices= UNIT_CHOICES) number_of_units = models.IntegerField(default=1) off
class Expiration(models.Model):
UNIT_CHOICES = (
('M', 'Month'),
('W', 'Week')
)
unit = models.CharField(max_length = 1, choices= UNIT_CHOICES)
number_of_units = models.IntegerField(default=1)
offset = models.IntegerField(default=1)
class Profile(models.Model):
name = models.CharField(default="tmp", max_length=32, blank=True)
expiration_period = models.ForeignKey(Expiration, blank=True, null=True)
我需要做的是获取与之关联的配置文件数量最少的过期实例,如果是重复的,则返回其中一个。或者更好地说,如果exp
是过期的一个实例,那么我正在寻找exp
具有最小exp.profile\u set.count()的
有人知道吗?您的查询设置了每个过期的配置文件数。然后按注释字段排序。配置文件最少(或联合最少)的配置文件是查询集的第一个结果
总而言之,您有:
from django.db.models import Count
Expiration.objects.annotate(num_profiles=Count('profile')).order_by('num_profiles')[0]