2
เฟรมเวิร์ก Django REST: serializer ที่ไม่ใช่โมเดล
ฉันเริ่มต้นในกรอบงาน Django REST และต้องการคำแนะนำของคุณ ฉันกำลังพัฒนาบริการเว็บ บริการจะต้องจัดเตรียมส่วนต่อประสาน REST กับบริการอื่น ๆ ส่วนต่อประสาน REST ที่ฉันต้องนำไปใช้นั้นไม่ได้ทำงานกับแบบจำลองของฉันโดยตรง (ฉันหมายถึงการดำเนินการรับ, วาง, โพสต์, ลบ) แต่จะให้บริการอื่น ๆ ด้วยผลการคำนวณบางส่วน ตามคำขอของฉันบริการของฉันทำการคำนวณและส่งคืนผลลัพธ์กลับมา (ไม่เก็บผลลัพธ์ไว้ในฐานข้อมูลของตัวเอง) ด้านล่างนี้เป็นความเข้าใจของฉันเกี่ยวกับวิธีการนำอินเตอร์เฟส REST ไปใช้งาน ถูกต้องฉันถ้าฉันผิด สร้างคลาสที่ทำให้การคำนวณ ตั้งชื่อมันว่า 'CalcClass' CalcClass ใช้โมเดลในการทำงาน พารามิเตอร์ที่จำเป็นสำหรับการคำนวณจะถูกส่งไปยังตัวสร้าง ใช้การดำเนินการคำนวณ มันจะส่งคืนผลลัพธ์เป็น 'ResultClass' สร้าง ResultClass มาจากวัตถุ มันมีเพียงคุณสมบัติที่มีผลลัพธ์การคำนวณ ส่วนหนึ่งของผลการคำนวณจะแสดงเป็น tuple ของ tuples ดังที่ฉันเข้าใจแล้วจะเป็นการดีกว่าถ้าจะทำให้ซีเรียลไลซ์เซชั่นต่อไปใช้คลาสแยกต่างหากสำหรับผลลัพธ์เหล่านั้นและเพิ่มรายการของออบเจ็กต์ดังกล่าวไปยัง สร้าง Serializer สำหรับ ResultClass สืบทอดมาจาก serializers.Serializer ผลลัพธ์จากการคำนวณเป็นแบบอ่านอย่างเดียวดังนั้นให้ใช้คลาสส่วนใหญ่เป็นฟิลด์สำหรับฟิลด์แทนที่จะเป็นคลาสพิเศษเช่น …