我尝试格式化查询中的日期,但是尝试提取年,月...时出现错误...
这在sqlLite和Postgres上发生。
Django版本:1.11.4
>>> users = User.objects.all()
>>> users.annotate(year=Cast(ExtractYear('date_joined'), CharField()))
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: near "None": syntax error
答案 0 :(得分:1)
这真的很奇怪。它甚至无法投射用户ID,例如:
users.annotate(year=Cast('id', CharField()))
解决方案:
尝试使用TextField
,例如:
users.annotate(year=Cast(ExtractYear('date_joined'), TextField()))
而不是CharField