PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

SQLite berfungsi, tetapi basis data yang dimigrasikan PostgreSQL menyebabkan KESALAHAN - Django 3.0

Tidak yakin saya dapat membantu, tetapi saya memiliki Mac, menggunakan Django dan memiliki beberapa masalah dengan PostgreSQL, jadi saya akan membagikan ide saya.

Pertama, menurut saya masalahnya memang koneksi dengan database, bukan kodenya. Saya mencari kesalahan Anda dalam kode Django, dikatakan:

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

Meskipun saya jelas bukan ahli middleware, tampaknya Django tidak menerima data dari database Anda.

Saya pernah mengalami masalah dengan berbagai versi PostgreSQL di Mac saya. Anda dapat memeriksa /Library/PostgreSQL, saya memiliki dua direktori (11 dan 12), jadi saya harus berhati-hati yang mana yang saya gunakan untuk proyek saya. Di PgAdmin Anda dapat melihat kedua versi. Jika Anda memiliki versi lama atau ingin menginstal ulang PostgreSQL (yang cukup drastis tetapi akan memberi Anda clean sheet), ada manual yang bagus di sini:https://medium.com/@zoefhall/effectively-uninstall-and-reinstall-psql-with-homebrew- di-osx-fabbc45c5d9d . Anda dapat memeriksa versi yang digunakan Django Anda dengan mengetikkan di Shell Anda:

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

Bagi saya hasilnya adalah 110005, yang diterjemahkan menjadi 11.0.5.

Saya juga punya masalah dengan psycopg2 beberapa kali. Instalasi itu diperlukan ketika Anda mengatur lingkungan virtual Anda dengan Django, jadi jika Anda mengaturnya, maka mungkin itu berjalan dengan baik. Masalah yang saya miliki adalah tidak dapat menemukan file konfigurasi, dan solusi termudah bagi saya adalah menginstal versi biner psycopg2-binary. Tetapi jika Anda menginginkan versi PostgreSQL tertentu di Mac Anda, maka Anda perlu meletakkan file pg_config di PATH Anda, lihat https://www.psycopg.org/docs/install.html .

Itulah yang saya pelajari, semoga sedikit membantu Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BUAT EKSTENSI postgis gagal,

  2. Batasan kunci asing yang kompleks di SQLAlchemy

  3. Cara memeriksa operasi yang tertunda dalam transaksi PostgreSQL

  4. Bagaimana cara mengimpor potongan data * besar * ke PostgreSQL?

  5. PostgreSQL:ERROR:42601:daftar definisi kolom diperlukan untuk fungsi yang mengembalikan catatan