Python 在两个范围之间搜索配置文件

Python 在两个范围之间搜索配置文件,python,django,Python,Django,我想得到给定两个年龄段之间的所有资料。示例“从20岁到30岁” 在我的模型中,而不是在年龄中,我保存了用户的出生日期。在这里,我需要将该出生日期转换为年龄,并希望获得给定年龄之间的配置文件。如果问题不正确,请帮助我更正问题 型号.py class profiles(models.Model): user = models.OneToOneField(User) full_name = models.CharField(max_length=200) birthday =

我想得到给定两个年龄段之间的所有资料。示例“从20岁到30岁” 在我的模型中,而不是在年龄中,我保存了用户的出生日期。在这里,我需要将该出生日期转换为年龄,并希望获得给定年龄之间的配置文件。如果问题不正确,请帮助我更正问题

型号.py

class profiles(models.Model):
    user = models.OneToOneField(User)
    full_name = models.CharField(max_length=200)
    birthday =  models.DateField(null=True)

    def age(self):
        return int((datetime.date.today() - self.birthday).days / 365.25  )
    age = property(age)
def search_results(request):
            from_age = form.cleaned_data['from_age']
            to_age = form.cleaned_data['to_age']
            query_set = profiles.objects.filter(gender=gender)
            if from_age < to_age:
                query_set = query_set.filter(
                    age__gte=from_age,
                    age__lte=to_age  
                )
视图.py

class profiles(models.Model):
    user = models.OneToOneField(User)
    full_name = models.CharField(max_length=200)
    birthday =  models.DateField(null=True)

    def age(self):
        return int((datetime.date.today() - self.birthday).days / 365.25  )
    age = property(age)
def search_results(request):
            from_age = form.cleaned_data['from_age']
            to_age = form.cleaned_data['to_age']
            query_set = profiles.objects.filter(gender=gender)
            if from_age < to_age:
                query_set = query_set.filter(
                    age__gte=from_age,
                    age__lte=to_age  
                )
def搜索结果(请求):
from_age=表单。已清理的_数据['from_age']
to_age=表单。已清理的_数据['to_age']
query\u set=profiles.objects.filter(性别=性别)
如果从_年龄<到_年龄:
query\u set=query\u set.filter(
年龄=从年龄开始,
年龄=到年龄
)

无法对属性进行筛选


你应该反过来做:把年龄转换成日期,然后过滤掉。

你不能过滤属性

你应该反过来做:将年龄转换成日期,然后进行过滤。

尝试查找:

尝试查找: