Python-Django-过滤并统计从开始日期算起第一年的所有人员

Python-Django-过滤并统计从开始日期算起第一年的所有人员,python,django,count,Python,Django,Count,我需要数一数合同第一年的所有人。 我甚至做了几次尝试,都失败了。有人能帮我吗?谢谢 型号: class Contracts(models.Model): person = models.CharField(max_length=50, null=True, blank=True, verbose_name='Name') start_date = models.DateField(null=True, blank=False, verbose_name='Start')

我需要数一数合同第一年的所有人。 我甚至做了几次尝试,都失败了。有人能帮我吗?谢谢

型号:

class Contracts(models.Model):
    person = models.CharField(max_length=50, null=True, blank=True, verbose_name='Name')
    start_date = models.DateField(null=True, blank=False, verbose_name='Start')

    def __str__(self):
        return '{}'.format(self.person)
到目前为止

视图:


由于没有结束日期,因此无法对该日期进行太多筛选。您只需将开始日期设置为大于或等于现在减去365天即可:

total_people = Contracts.objects.filter(
    start_date__gte=timezone.now() - timedelta(days=365)
).count()

你的模特有结束日期吗?如果是,请将其添加到代码中。谢谢!太完美了!
total_people = Contracts.objects.filter(
    start_date__gte=timezone.now() - timedelta(days=365)
).count()
from dateutil.relativedelta import relativedelta

total_people = Contracts.objects.filter(
    start_date__gte=timezone.now() - relativedelta(years=1)
).count()