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!