Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django中找到相关_集最小的对象?_Python_Django - Fatal编程技术网

Python 如何在Django中找到相关_集最小的对象?

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

我有一个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)
    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]