Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana dengan Cekap Menukar Keputusan Pertanyaan SQLAlchemy kepada JSON?

Bagaimana dengan Cekap Menukar Keputusan Pertanyaan SQLAlchemy kepada JSON?

Barbara Streisand
Barbara Streisandasal
2024-11-30 19:40:14953semak imbas

How to Efficiently Convert SQLAlchemy Query Results to JSON?

Tukar Hasil Pertanyaan SQLAlchemy kepada JSON

Mensirikan hasil pertanyaan SQLAlchemy kepada JSON boleh menjadi satu cabaran, terutamanya tanpa bersiri automatik seperti dalam model Django ORM . Untuk mengatasinya, seseorang boleh membuat penyeri JSON tersuai atau menggunakan pustaka sedia ada.

Satu pendekatan ialah dengan mentakrifkan proses siri secara manual dengan mencipta kaedah to_dict() dalam kelas model:

class User:
    def to_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}

Fungsi ini menukar contoh model kepada kamus, yang kemudiannya boleh ditukar dengan mudah kepada JSON.

Pilihan lain ialah dengan memanfaatkan perpustakaan bersiri objek seperti jsonpickle. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jsonpickle.encode() mengekod objek pertanyaan itu sendiri. Sebaliknya, gunakan jsonpickle.encode(item.to_dict()) selepas menukar model kepada kamus.

Selain itu, menggunakan json.dumps(item) akan mengakibatkan TypeError kerana objek SQLAlchemy tidak boleh bersiri JSON asli. Kaedah to_dict() memastikan bahawa objek ditukar kepada format kamus yang sesuai untuk penyiaran JSON.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Keputusan Pertanyaan SQLAlchemy kepada JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn