带有Django SQL Explorer的Heroku应用未在Postgres DB上执行查询

时间:2018-10-05 14:04:07

标签: django postgresql heroku

我已经在Heroku上部署了Django网站。我已经在该网站上安装了django-sql-explorer。在本地运行,但在Heroku上一切正常,因为运行此查询时数据库是Postgres:

SELECT * FROM parcare_parking WHERE parking_on = date('now','+1 day');

我收到此错误:

function date(unknown, unknown) does not exist LINE 3: WHERE parking_on = date('now','+1 day'); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.*

`SELECT * FROM parcare_parking WHERE parking_on = "2018-10-08"` fired

    column "2018-10-08" does not exist LINE 1: SELECT * FROM parcare_parking WHERE parking_on = "2018-10-08... ^

但是SELECT * FROM parcare_parking找到正确的结果。 它们在我的本地开发人员上,但是从我的本地SQLite3到Heroku的Postgres都是不兼容的。我该怎么办?

2 个答案:

答案 0 :(得分:0)

对于其他非SQL开发人员,您可以使用---必须使用单引号:

SELECT *
FROM parcare_parking
WHERE parking_on ='2018-10-08'

答案 1 :(得分:-1)

  

从本地SQLite3到Heroku的Postgres都是不兼容的。我该怎么办?

您应该在所有环境中使用相同的数据库。由于Heroku不支持SQLite,因此意味着像PostgreSQL这样的客户端服务器数据库。

Django的ORM可以帮助消除数据库技术之间的差异,但不能解决所有问题。在不同的环境中使用不同的数据库会大大增加出现此类特定于环境的错误的机会。