sql >> Base de Datos >  >> RDS >> PostgreSQL

SQLite funciona, pero la base de datos migrada de PostgreSQL causa ERROR - Django 3.0

No estoy seguro de poder ayudar, pero tengo una Mac, uso Django y tuve algunos problemas con PostgreSQL, así que compartiré mis ideas.

Primero, me parece que el problema es la conexión con la base de datos, no el código. Busqué tu error en el código de Django, dice:

    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)
            )

Aunque ciertamente no soy un experto en middleware, aparentemente Django no está recibiendo datos de su base de datos.

Una vez tuve problemas con diferentes versiones de PostgreSQL en mi Mac. Puede verificar en /Library/PostgreSQL, tengo dos directorios (11 y 12), así que debo tener cuidado con cuál uso para mis proyectos. En PgAdmin puedes ver ambas versiones. Si tiene versiones antiguas o desea reinstalar PostgreSQL (que es bastante drástico pero le daría una hoja limpia), hay un buen manual aquí:https://medium.com/@zoefhall/efectivamente-desinstalar-y-reinstalar-psql-con-homebrew- en-osx-fabbc45c5d9d . Puede verificar la versión que está usando su Django escribiendo en su Shell:

python3 manage.py shell -c "from django.db import connection; print(connection.cursor().connection.server_version)"

Para mí, el resultado es 110005, que se traduce en 11.0.5.

También tuve problemas con psycopg2 varias veces. Es necesario instalarlo cuando configura su entorno virtual con Django, por lo que si lo logró, entonces probablemente salió bien. El problema que tuve fue que no pudo encontrar el archivo de configuración, y la solución más fácil para mí fue instalar la versión binaria psycopg2-binary. Pero si desea una versión específica de PostgreSQL en su Mac, debe colocar el archivo pg_config en su RUTA, consulte https://www.psycopg.org/docs/install.html .

Eso es lo que he aprendido, espero que te ayude un poco.