Django は ORM モデルを JSON にシリアル化するのに便利ですが、SQLAlchemy クエリ結果を JSON にシリアル化するのはより困難なタスクになる可能性があります。 。 JSON エンコーダーは通常、SQLAlchemy オブジェクトの処理に苦労します。
質問で提案されている潜在的な解決策の 1 つは、jsonpickle を使用してクエリ オブジェクト自体をエンコードすることです。ただし、このアプローチでは満足のいく結果が得られません。同様に、json.dumps(items) を使用すると、SQLAlchemy ORM オブジェクトの非 JSON シリアル化可能性によりシリアル化エラーが発生します。
別のアプローチは、SQLAlchemy オブジェクトを手動で辞書に変換することです:
class User: def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
この as_dict() メソッドを使用して、ユーザーをシリアル化できます。 object:
user = User() user_dict = user.as_dict()
このアプローチはより柔軟であり、アプリケーションの特定の要件に基づいたカスタムのシリアル化ロジックが可能です。
以上がSQLAlchemy クエリ結果を JSON に効率的にシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。