我想使用以下表达式注释查询: ( [截止日期] - [现在] )/ [区间]
[截止日期] 和 [间隔] 是数据库中的字段,而 [现在] 应该是"等于&# 34;到 timezone.now()。
所以这看起来像:
.annotate(ratio=(F('due_date')-timezone.now())/F('Interval'))
但这不起作用,因为 timezone.now()只是转换为 str 表示。我需要的是以一种不依赖于数据库的方式将其转换为日期表示。这对Django ORM来说可行吗?然后我希望用日期格式理解减号和除法运算符。
答案 0 :(得分:1)
使用儒略日期和数据库功能create_user
代替Now
:
timezone.now()
如果您需要使用PostgreSQL和SQLite以外的其他数据库后端,请参阅Michael Brooks创建的Datediff
函数。