回應(三)為何不用 ModelSchema?——相比 DRF,我更偏愛 Django Ninja 的理由

這是 Django Ninja 系列教學的第 15 篇。
Django API 回應,常常是對 Model 物件(即 db 資料)內容進行一定的篩選與加工。
比如「取得單一文章資訊」API,實際上就是從Post物件挑選欄位,再進行序列化。
這個過程中,我們需要考慮如何將模型物件轉換為 API 的回應結構,同時保持程式碼的可維護性與靈活。
對此,Django REST framework(以下簡稱 DRF)提供了非常實用的「特製」序列化器——ModelSerializer,可說是 DRF 開發者必學的核心功能。
Django Ninja 雖然也有類似的實踐——ModelSchema,對我而言卻是雞肋般的存在,我幾乎不曾使用。
這樣的差異,無疑是兩者的核心設計理念不同所導致。
我們曾在第 3 篇中討論過,兩者在功能上的主要區別。本文將透過「Django 模型物件的序列化」這個頗具代表性的議題,說明「為何相比於 DRF,我更喜歡寫 Django Ninja」。
