Cara menggunakan format api response python
Halo semua, kembali lagi bersama Kiddy yang lagi asik bahas Flask Python. Pada tutorial sebelumnya kita membahas cara melakukan Login di Flask, klik link dibawah ini kalo pengen tau. Sekarang kita akan membahas cara membuat Relationship di Flask. Relationship ya bukan
Rela diboongin ship. 😢 😿 Seperti yang kita ketahui, Relationship ini sering dipake di ORM Eloquent Laravel yaitu Nah Sebenernya Flask juga ada kok. Cuma emang ngga sekeren Eloquent sih hehe. Oke langsung aja yuk kita mulai, sekarang kita akan membuat lanjutan dari tutorial sebelumnya, jika pada tutorial sebelumnya
kita baru membuat routes untuk users saja, sekarang kita akan membuat routes untuk TODOnya, nah pada penekanan relationship ini saya ingin memberi insight cara mengetahui siapa user yang membuat sebuah Todo tersebut. Table todo kan hanya menyimpan user_id saja ya, nah kalo di laravel kita dengan mudah dapat melakukan syntax dibawah ini dengan mudah: $item->users->name Namun sayangnya untuk di Flask agak ribet, tapi yaudah yuk kita coba aja duls~ Sebelumnya, edit dulu file modelnya si Todo, yaitu di folder model/todo.py tambahkan variable berikut setelah variable user_id. users = db.relationship("Users", backref="user_id") Kita akan membuat relasi dengan table Users sehingga mendapatkan data dari si pembuat Todo. Relasi ini bersifat One to Many, karena satu user bisa memiliki banyak todo, sedangkan setiap todo hanya dimiliki oleh satu user. Sekarang buat TodoController.py dan copy paste aja seluruh kode saya disini from app.model.todo import Todos as Todo Lihat, bagian singleTransform kita menambahkan satu parameter baru yaitu user, object user ini akan mengubah values.users alias data dari user yang membuat todo karena pada model user kita menambahkan variable users. Parameter withTodo akan saya jelaskan nanti. Udah? Kalo udah coba kita rombak sedikit routes.py kita dan tambahkan routes untuk Todo. @app.route('/todo', methods=['POST', 'GET']) Eits, belom selesai, kita ubah dulu si UserController kita bagian method singleTransform. def singleTransform(users, withTodo=True): Nah disini kita melihat parameter withTodo. Parameter ini berfungsi untuk menambahkan parameter todos pada saat melihat daftar users dan ingin menampilkan todo list yang dimilikinya. Variable withTodo diset true secara default, lalu menunggu perintah, apabila false ya maka object todos ini tidak akan ditambahkan. Oke sekarang kita coba jalankan dan coba tambahkan dulu. Sekarang kita coba dapatkan todo dari user_id 27 milik saya. Nah kita melihat ada objek user milik saya. Keren kan? Relasi ini dengan mudah dapat kita bangun melalui Flask. Sekarang coba kalian jalankan routes /users dan lihat hasilnya. Disana kita melihat satu object bernama todos, todos ini menampilkan seluruh todo list milik user tersebut, user Hudya dan Revkah tidak memiliki todo sedangkan user Kiddy telah memiliki dua todo list. Mudah kan membuat relasi di Flask? Untuk membuat relasi lainnya kalian dapat temukan pada web dibawah ini. Kalo gitu adios sampai jumpa goodbye dari saya, semoga semakin semangat belajar Flasknya! Kalo ada yang mau clone juga saya udah buat nih reponya. Happy Coding! |