我将执行此查询:
today = datetime.date.today()
year=today.year
month=today.month
news=News.objects.filter(date__year__lt = year,date__month__lt=month)
字符串
注意:News对象有一个名为date
的字段,但我得到了这个错误:
Join on field 'date' not permitted. Did you misspell 'year' for the lookup type?
型
你的想法是什么?
提前致谢
3条答案
按热度按时间lrpiutwd1#
不能将
__lt
追加到__year
或__month
。只有最后一个双下划线位被认为是限定符,在它之前的所有内容都被视为遍历,即Django将尝试在名为date
的连接表中查找名为year
的字段,这显然是不正确的。对于这样的事情,你只需要直接比较日期:
字符串
vyu0f0g12#
Django在处理关系时会遇到某些查找问题(例如
date__year__*
)。我认为这是他们正在为未来版本而努力的事情。这是否产生可接受的结果?
字符串
oug3syen3#
在Django中只根据日期和月份过滤数据的方法之一是
字符串
销售模式:
型