PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

SQLite funziona, ma il database migrato da PostgreSQL causa ERRORE - Django 3.0

Non sono sicuro di poterti aiutare, ma ho un Mac, uso Django e ho avuto dei problemi con PostgreSQL, quindi condividerò le mie idee.

Innanzitutto, mi sembra che il problema sia proprio la connessione con il database, non il codice. Ho cercato il tuo errore nel codice 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)
            )

Anche se non sono certo un esperto di middleware, a quanto pare Django non sta ricevendo dati dal tuo database.

Una volta ho avuto problemi con diverse versioni di PostgreSQL sul mio Mac. Puoi controllare /Library/PostgreSQL, ho due directory (11 e 12), quindi devo stare attento a quale uso per i miei progetti. In PgAdmin puoi vedere entrambe le versioni. Se hai vecchie versioni o vuoi reinstallare PostgreSQL (che è piuttosto drastico ma ti darebbe un foglio pulito), c'è un buon manuale qui:https://medium.com/@zoefhall/efficacemente-disinstalla-e-reinstalla-psql-con-homebrew- su-osx-fabbc45c5d9d . Puoi controllare la versione che sta utilizzando il tuo Django digitando nella tua Shell:

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

Per me il risultato è 110005, che si traduce in 11.0.5.

Ho anche avuto problemi con psycopg2 diverse volte. L'installazione è necessaria quando configuri il tuo ambiente virtuale con Django, quindi se ci sei riuscito, probabilmente è andato tutto bene. Il problema che avevo era che non riusciva a trovare il file di configurazione e la soluzione più semplice per me era installare la versione binaria psycopg2-binary. Ma se vuoi una versione specifica di PostgreSQL sul tuo Mac, devi inserire il file pg_config nel tuo PATH, vedi https://www.psycopg.org/docs/install.html .

Questo è quello che ho imparato, spero che ti aiuti un po'.