PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

SQLite hoạt động, nhưng cơ sở dữ liệu được di chuyển PostgreSQL gây ra LỖI - Django 3.0

Tôi không chắc mình có thể giúp được gì, nhưng tôi có máy Mac, sử dụng Django và gặp một số vấn đề với PostgreSQL, vì vậy tôi sẽ chia sẻ ý kiến ​​của mình.

Đầu tiên, đối với tôi, có vẻ như vấn đề thực sự là kết nối với cơ sở dữ liệu, không phải mã. Tôi đã tra cứu lỗi của bạn trong mã Django, nó cho biết:

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

Mặc dù tôi chắc chắn không phải là chuyên gia về phần mềm trung gian, nhưng dường như Django không nhận được dữ liệu từ cơ sở dữ liệu của bạn.

Tôi đã từng gặp sự cố với các phiên bản PostgreSQL khác nhau trên máy Mac của mình. Bạn có thể kiểm tra trong / Library / PostgreSQL, tôi có hai thư mục (11 và 12), vì vậy tôi phải cẩn thận cái nào tôi sử dụng cho các dự án của mình. Trong PgAdmin, bạn có thể thấy cả hai phiên bản. Nếu bạn có các phiên bản cũ hoặc muốn cài đặt lại PostgreSQL (điều này khá mạnh nhưng sẽ mang lại cho bạn một trang tính sạch sẽ), có một hướng dẫn tốt ở đây:https://medium.com/@zoefhall/effaries-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d . Bạn có thể kiểm tra phiên bản mà Django của bạn đang sử dụng bằng cách nhập vào Shell của bạn:

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

Đối với tôi, kết quả là 110005, nghĩa là 11.0.5.

Tôi cũng gặp vấn đề với psycopg2 vài lần. Cài đặt nó là cần thiết khi bạn thiết lập môi trường ảo của mình với Django, vì vậy nếu bạn quản lý được điều đó, thì có lẽ điều đó đã ổn. Vấn đề tôi gặp phải là nó không thể tìm thấy tệp cấu hình và giải pháp dễ nhất cho tôi là cài đặt phiên bản nhị phân psycopg2-binary. Nhưng nếu bạn muốn có một phiên bản cụ thể của PostgreSQL trên máy Mac, thì bạn cần đặt tệp pg_config vào PATH của mình, xem https://www.psycopg.org/docs/install.html .

Đó là những gì tôi đã học được, tôi hy vọng nó sẽ giúp bạn một chút.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres CHÈN VỀ MỨC ĐỘ CẬP NHẬT so với CHÈN hoặc CẬP NHẬT

  2. Docker Compose + Postgres:Cổng tiếp xúc

  3. Rails Kết nối với cơ sở dữ liệu được chỉ định bởi database.yml

  4. Nhóm người dùng PostgreSQL NL

  5. Tốc độ cắt bỏ Postgresql