【发布时间】:2013-12-15 14:52:05
【问题描述】:
我尝试编写查询,其中必须显示飞机,工作寿命已结束。 模型.py
class Aircraft(models.Model):
registration_num = models.IntegerField(primary_key=True)
airplane_age = models.IntegerField()
commision_day = models.DateField()
Views.py
def query1(request):
air_list = Aircraft.objects.filter(commision_day__year__lte=(datetime.date.today().year - 10))
#air_list = Aircraft.objects.extra(where=['commision_day + airplane_age < CURDATE()'])
#air_list = Aircraft.objects.extra(where=["commision_day+airplane_age<datetime.date.today()"]) F('airplane_age') year=10, month=1, day=1
数据示例
commision_day = 1995.10.05
airplane_age = 15
我尝试了很多方法,但没有一种方法有效((((
所以我需要显示 plnes 哪个委托日 + 飞机年龄
谢谢
【问题讨论】:
-
您是否收到任何错误消息?如果有,它们是什么?
-
@itsjeyd 我尝试了许多具有不同错误的变体))因此,在上述情况下:
Join on field 'commision_day' not permitted. Did you misspell 'year' for the lookup type?- 因为一起使用 __year 和 __lte 是错误的。 =) -
好的,我认为您可以尝试将
commision_day的值与另一个datetime.date直接与适当的值进行比较。请参阅下面的answer。
标签: django python-3.x django-models