Saya memiliki dua tabel MySQL:
User (id, name)
Sale (id, user, item)
Dimana Sale(user)
adalah kunci asing ke User(id)
, jadi ini adalah hubungan satu-ke-banyak (satu pengguna dapat menghasilkan banyak penjualan).
Saya mencoba mengambil ini dari database dan mengembalikannya dalam format JSON untuk banyak pengguna, sehingga akan terlihat seperti ini:
[
{
"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"
}
]
}
]
Dimana entitas "penjualan" berada di dalam entitas "pengguna" yang sesuai.
Jadi pertanyaannya adalah, apa cara terbaik untuk menanyakan ini dari DB dan mengubahnya menjadi JSON? Saya dapat menjalankan kueri untuk semua Pengguna, lalu mengulangi masing-masing Pengguna dan menjalankan kueri untuk mendapatkan penjualan mereka, tetapi ini cukup lambat. Atau, saya bisa melakukan gabungan luar antara Pengguna dan Penjualan dan kemudian menguraikannya dalam kode ke dalam format JSON, tetapi ini mengirimkan informasi berlebih dari DB (termasuk seluruh kumpulan data Pengguna untuk setiap Penjualan) dan memerlukan perulangan semuanya di kode. Apakah ada cara mudah untuk melakukan ini? Saya menggunakan Python 3.7.