ฉันมีตาราง MySQL สองตาราง:
User (id, name)
Sale (id, user, item)
โดยที่ Sale(user)
เป็นคีย์ต่างประเทศของ User(id)
ดังนั้นนี่คือความสัมพันธ์แบบหนึ่งต่อกลุ่ม (ผู้ใช้รายหนึ่งสามารถสร้างยอดขายได้มาก)
ฉันกำลังพยายามรับสิ่งนี้จากฐานข้อมูลและส่งคืนในรูปแบบ JSON สำหรับผู้ใช้หลายคน ดังนั้นมันจะมีลักษณะดังนี้:
[
{
"id": 1,
"name": "User 1",
"sales": [
{
"id": 1,
"item": "t-shirt"
},
{
"id": 2,
"item": "jeans"
}
]
},
{
"id": 2,
"name": "User 2",
"sales": [
{
"id": 3,
"item": "sweatpants"
},
{
"id": 4,
"item": "gloves"
}
]
}
]
โดยที่เอนทิตี "การขาย" ซ้อนอยู่ภายในเอนทิตีของ "ผู้ใช้" ที่เกี่ยวข้อง
ดังนั้นคำถามคือ อะไรคือวิธีที่ดีที่สุดในการสืบค้นสิ่งนี้จาก DB และเปลี่ยนให้เป็น JSON ฉันสามารถเรียกใช้การสืบค้นสำหรับผู้ใช้ทั้งหมด จากนั้นวนซ้ำแต่ละข้อและเรียกใช้การสืบค้นเพื่อให้ได้ยอดขายของพวกเขา แต่การดำเนินการนี้ค่อนข้างช้า หรือฉันสามารถรวมภายนอกระหว่างผู้ใช้และการขายแล้วแยกวิเคราะห์โค้ดนั้นในรูปแบบ JSON แต่สิ่งนี้จะส่งข้อมูลส่วนเกินจากฐานข้อมูล (รวมถึงชุดข้อมูลผู้ใช้ทั้งหมดสำหรับการขายแต่ละครั้ง) และต้องมีการวนซ้ำทั้งหมดในนั้น รหัส. มีวิธีที่สะดวกในการทำเช่นนี้หรือไม่? ฉันใช้ Python 3.7 ยังไงก็ตาม