Django MySQL无法识别queryset extra中的model.column?

Django MySQL无法识别queryset extra中的model.column?,mysql,django,django-queryset,Mysql,Django,Django Queryset,我在本地和开发机器上分别安装了SQLite和MySQL。以下内容在我的本地机器(使用SQLite)上运行良好: 但是由于strftime不能与MySQL()一起使用,我尝试使用给定链接中建议的DATE\u FORMAT(),以及其他地方。 但现在当我执行以下命令时: select_single = {'date': "DATE_FORMAT(projectName_Modelname.created, '%%Y-%%m-%%d')"} queryset.extra(select=select_s

我在本地和开发机器上分别安装了SQLite和MySQL。以下内容在我的本地机器(使用SQLite)上运行良好:

但是由于strftime不能与MySQL()一起使用,我尝试使用给定链接中建议的
DATE\u FORMAT()
,以及其他地方。 但现在当我执行以下命令时:

select_single = {'date': "DATE_FORMAT(projectName_Modelname.created, '%%Y-%%m-%%d')"}
queryset.extra(select=select_single)
出现以下错误:

DatabaseError: (1054, "Unknown column 'projectName_Modelname.created' in 'field list'")
其中“created”是应用程序“projectName”的Django模型“Modelname”中的日期时间字段

NOW()替换
projectName\u Modelname.created
时进行调试。
不会出现错误。我也尝试过只使用
Modelname.created
而不是
projectName\u Modelname.created
,但没有任何好处


注意:我使用的是Django1.5.5,我认为应该是这样的:

date\u raw\u query={'date':“date\u格式(已创建,%%Y-%%m-%%d')”}

然后试试看

queryset.extra(select=date\u raw\u query)

希望这在您的设置中起作用。我已经在Django 1.7和MySQL上尝试过了,并且似乎很有效

还请记住,如果开始出现SQL错误,您始终可以执行
打印queryset.extra(select=date\u raw\u query)。查询
以查看可能出现的错误

在编写SQLite和MySQL之间的兼容代码时,有人建议编写自定义MySQL函数


但我建议不是这样。最好在本地有一个类似的开发环境,安装MySQL,并尽快升级Django:P

Django 1.5.5已经过时多年了。几乎没有人记得如何使用额外的“现在”和“最后”,但并非最不重要的是,始终尝试在本地和生产中使用相同的RDBMS来避免此类问题。您能解释一下为什么要这样做吗?用Python或模板格式化输出日期要简单得多。@e4c5这是关于我正在维护的一个项目,有人请求做一些修改。@DanielRoseman如果我无法修改,我将最终重构我得到的整个部分
DatabaseError:(1052,“字段列表中的“created”列不明确”)
尝试您的建议。虽然分析了MySQL查询,但我发现modelname改为所有小写,但projectname是camelcase(像projectname\u modelname一样)。因此,我将其改为
projectname\u modelname.created
,效果很好!谢谢。
DatabaseError: (1054, "Unknown column 'projectName_Modelname.created' in 'field list'")