手伝うことができるかどうかはわかりませんが、私はMacを持っていて、Djangoを使用していて、PostgreSQLで問題が発生したので、アイデアを共有します。
まず、問題は実際にはコードではなくデータベースとの接続にあるように思われます。 Djangoコードでエラーを調べたところ、次のようになっています。
def _get_response(self, request):
"""
Resolve and call the view, then apply view, exception, and
template_response middleware. This method is everything that happens
inside the request/response middleware.
"""
...
# Complain if the view returned None (a common error).
if response is None:
...
raise ValueError(
"The view %s.%s didn't return an HttpResponse object. It "
"returned None instead." % (callback.__module__, view_name)
)
私は確かにミドルウェアの専門家ではありませんが、どうやらDjangoはデータベースからデータを受信していないようです。
Macの異なるバージョンのPostgreSQLで問題が発生したことがあります。 / Library / PostgreSQLで確認できます。2つのディレクトリ(11と12)があるので、どちらをプロジェクトに使用するか注意する必要があります。 PgAdminでは、両方のバージョンを確認できます。古いバージョンを使用している場合、またはPostgreSQLを再インストールしたい場合(これはかなり抜本的ですが、きれいなシートが得られます)、ここに優れたマニュアルがあります: https://medium.com/@zoefhall/effectively-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d 。シェルに入力すると、Djangoが使用しているバージョンを確認できます:
python3 manage.py shell -c "from django.db import connection; print(connection.cursor().connection.server_version)"
私の場合、結果は110005であり、これは11.0.5に変換されます。
また、psycopg2で何度か問題が発生しました。 Djangoで仮想環境をセットアップするときにインストールする必要があるので、それを管理していれば、おそらくそれは問題ありませんでした。私が抱えていた問題は、設定ファイルが見つからないことでした。私にとって最も簡単な解決策は、バイナリバージョンのpsycopg2-binaryをインストールすることでした。ただし、Macで特定のバージョンのPostgreSQLが必要な場合は、pg_configファイルをPATHに配置する必要があります。
それが私が学んだことです。少しでもお役に立てば幸いです。