Python 在两个范围之间搜索配置文件
我想得到给定两个年龄段之间的所有资料。示例“从20岁到30岁” 在我的模型中,而不是在年龄中,我保存了用户的出生日期。在这里,我需要将该出生日期转换为年龄,并希望获得给定年龄之间的配置文件。如果问题不正确,请帮助我更正问题 型号.pyPython 在两个范围之间搜索配置文件,python,django,Python,Django,我想得到给定两个年龄段之间的所有资料。示例“从20岁到30岁” 在我的模型中,而不是在年龄中,我保存了用户的出生日期。在这里,我需要将该出生日期转换为年龄,并希望获得给定年龄之间的配置文件。如果问题不正确,请帮助我更正问题 型号.py class profiles(models.Model): user = models.OneToOneField(User) full_name = models.CharField(max_length=200) birthday =
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(
年龄=从年龄开始,
年龄=到年龄
)
无法对属性进行筛选
你应该反过来做:把年龄转换成日期,然后过滤掉。你不能过滤属性 你应该反过来做:将年龄转换成日期,然后进行过滤。尝试查找: 尝试查找: