sql >> Databasteknik >  >> RDS >> PostgreSQL

SQLite fungerar, men PostgreSQL migrerad databas orsakar ERROR - Django 3.0

Jag är inte säker på att jag kan hjälpa, men jag har en Mac, använder Django och hade några problem med PostgreSQL, så jag delar med mig av mina idéer.

För det första verkar det som om problemet verkligen är kopplingen till databasen, inte koden. Jag letade upp ditt fel i Django-koden, den säger:

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

Även om jag verkligen inte är någon expert på mellanprogram, tar tydligen Django inte emot data från din databas.

Jag hade en gång problem med olika versioner av PostgreSQL på min Mac. Du kan checka in /Library/PostgreSQL, jag har två kataloger (11 och 12), så jag måste vara försiktig med vilken jag använder för mina projekt. I PgAdmin kan du se båda versionerna. Om du har gamla versioner eller vill installera om PostgreSQL (vilket är ganska drastiskt men skulle ge dig ett rent ark) finns det en bra manual här:https://medium.com/@zoefhall/effectively-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d . Du kan kontrollera versionen som din Django använder genom att skriva i ditt skal:

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

För mig är resultatet 110005, vilket översätts till 11.0.5.

Jag har också haft problem med psycopg2 flera gånger. Installation av det är nödvändigt när du ställer in din virtuella miljö med Django, så om du lyckades med det så gick det förmodligen ok. Problemet jag hade var att den inte kunde hitta konfigurationsfilen, och den enklaste lösningen för mig var att installera den binära versionen psycopg2-binary. Men om du vill ha en specifik version av PostgreSQL på din Mac måste du lägga filen pg_config i din PATH, se https://www.psycopg.org/docs/install.html .

Det är vad jag har lärt mig, jag hoppas att det hjälper dig lite.



  1. FEL:HHH000299:Kunde inte slutföra schemauppdatering java.lang.NullPointerException

  2. Överträdelse av integritetsbegränsning:1048 Kolumnen "user_id" kan inte vara null fel uppstår vid tilldelning av roller (Laravel 5.3)

  3. välj andra raden i Plsql

  4. Hur man ändrar det förinställda nollsorteringsbeteendet från PostgreSQL i Django ORM