PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQLite работи, но мигрираната база данни на PostgreSQL причинява ГРЕШКА - Django 3.0

Не съм сигурен, че мога да помогна, но имам 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 не получава данни от вашата база данни.

Веднъж имах проблеми с различни версии на PostgreSQL на моя Mac. Можете да проверите в /Library/PostgreSQL, имам две директории (11 и 12), така че трябва да внимавам коя използвам за моите проекти. В PgAdmin можете да видите и двете версии. Ако имате стари версии или искате да преинсталирате PostgreSQL (което е доста драстично, но ще ви даде чист лист), тук има добро ръководство:https://medium.com/@zoefhall/effectively-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d . Можете да проверите версията, която вашият Django използва, като напишете във вашия Shell:

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

За мен резултатът е 110005, което означава 11.0.5.

Аз също имах проблеми с psycopg2 няколко пъти. Инсталирането му е необходимо, когато настройвате вашата виртуална среда с Django, така че ако сте успели това, вероятно всичко е минало добре. Проблемът, който имах, беше, че не можеше да намери конфигурационния файл и най-лесното решение за мен беше да инсталирам двоичната версия psycopg2-binary. Но ако искате конкретна версия на PostgreSQL на вашия Mac, тогава трябва да поставите файла pg_config във вашия PATH, вижте https://www.psycopg.org/docs/install.html .

Това е, което научих, надявам се да ви помогне малко.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво заключване, ако има такова, използва 'CREATE TRIGGER' в PostgreSQL 9.4.2

  2. PostgreSQL 9.X bytea представяне в 'hex' или 'escape' за миниатюрни изображения

  3. Размер на таблицата с оформление на страницата

  4. Логическа репликация на дялове с PostgreSQL 13

  5. Разлика в часовете в часовете за PostgreSQL