sql >> Databáze >  >> RDS >> PostgreSQL

SQLite funguje, ale migrovaná databáze PostgreSQL způsobuje CHYBU - Django 3.0

Nejsem si jistý, jestli mohu pomoci, ale mám Mac, používám Django a měl jsem nějaké problémy s PostgreSQL, takže se podělím o své nápady.

Za prvé se mi zdá, že problém je skutečně ve spojení s databází, nikoli v kódu. Vyhledal jsem vaši chybu v kódu Django, říká:

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

I když rozhodně nejsem odborník na middleware, Django zjevně nepřijímá data z vaší databáze.

Jednou jsem měl problémy s různými verzemi PostgreSQL na svém Macu. Můžete zkontrolovat /Library/PostgreSQL, mám dva adresáře (11 a 12), takže si musím dávat pozor, který pro své projekty používám. V PgAdminu můžete vidět obě verze. Pokud máte staré verze nebo chcete přeinstalovat PostgreSQL (což je dost drastické, ale dalo by vám to čistý list), je zde dobrý manuál:https://medium.com/@zoefhall/effectively-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d . Verzi, kterou vaše Django používá, můžete zkontrolovat zadáním Shell:

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

Pro mě je výsledek 110005, což znamená 11.0.5.

Také jsem měl několikrát problémy s psycopg2. Instalace je nezbytná, když nastavujete své virtuální prostředí s Django, takže pokud se vám to podařilo, pravděpodobně to proběhlo v pořádku. Problém, který jsem měl, byl, že nemohl najít konfigurační soubor a nejjednodušším řešením pro mě bylo nainstalovat binární verzi psycopg2-binary. Pokud ale chcete na Macu konkrétní verzi PostgreSQL, musíte do své PATH vložit soubor pg_config, viz https://www.psycopg.org/docs/install.html .

To jsem se naučil, doufám, že vám to trochu pomůže.



  1. Jak vyřešit chybu MySQL Nemůžete zadat cílovou tabulku X pro aktualizaci v klauzuli FROM?

  2. Zřetězená funkce volá jinou zřetězenou funkci

  3. SQL Server – slučování velkých tabulek bez zamykání dat

  4. Mysql datetime se stane 0000-00-00 00:00:00 v mysql verzi 5.6