0
我想尝试一个日期和一个整数代表一年的组合过滤器的请求,我遇到了一些麻烦。django请求与两个日期字段
这里是我的模型:
class Exemple(models.Model):
date_field = models.DateField()
year_field = models.IntegerField()
这里是工作的要求:
exs = Exemple.objects.extra(where=["DATE(date_field, '+' || year_field|| ' years') < DATE('now') OR date_field is NULL"])
我想只用Django的ORM做完全相同的请求, 我想这(其没有工作)
from django.db.models import F
import datetime
exs = Exemple.objects.filter(date_field__lt=datetime.timedelta(days=-365*F('year_field'))+datetime.datetime.today().year)
我认为问题是,F()还没有在莫MENT timedelta获得通过事先的任何解决方案或想法,可以帮助
感谢您的回答,我想只集中在这一年: EXS = Exemple.objects.filter(date_field__year__lt = 0-F( 'year_field')+ datetime.datetime.today()年) 但出现错误:“不允许在字段'date_verif'加入。您是否为查找类型拼错'年'?” 无论如何,我必须照顾整个日期,因为月份和日期在这里很重要,所以我认为我会额外做,但因为我必须将其部署到另一个数据库系统,所以我会必须适应它... 再次感谢 – BlueMagma
因此,经过短暂的研究,我发现这个:https://code.djangoproject.com/ticket/10911 – BlueMagma