Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mensirrikan Objek ORM SQLAlchemy ke JSON?
Mensirikan hasil pertanyaan SQLAlchemy kepada format JSON boleh menjadi tugas biasa apabila bekerja dengan aplikasi web. Walaupun Django menyediakan penyirian automatik, SQLAlchemy tidak mempunyai penyeri luar kotak.
Anda telah cuba menggunakan jsonpickle.encode dan json.dumps untuk mensiri objek SQLAlchemy, tetapi mengalami ralat berikut:
TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable
Untuk mengatasi isu penyirian, anda boleh mencipta kaedah kelas tersuai yang menukar objek kepada kamus:
class User: def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Kaedah as_dict() ini menjana perwakilan kamus secara dinamik objek dengan mengulangi lajur jadualnya. Anda kemudiannya boleh menggunakan User.as_dict() untuk menyerikan objek dan menghantarnya kepada pengekodan JSON.
Untuk mendapatkan maklumat lanjut tentang menukar objek SQLAlchemy kepada kamus, sila rujuk sumber berikut :
Dengan melaksanakan kaedah bersiri tersuai, anda boleh berjaya menukar hasil pertanyaan SQLAlchemy kepada format JSON, membolehkan anda menggunakan data dalam grid data JavaScript seperti JQGrid.
Atas ialah kandungan terperinci Bagaimana untuk Mensirrikan Objek ORM SQLAlchemy ke JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!