Merk : PROSTREET KITKAT - Type : Sepeda Listrik - Battery : 48V/ 20AH - Motor Power : 650WATT - Kecepatan Max : 45km/ - Jarak Tempuh : ± 60 KM - Daya Angkut : Max. 150 Kg
Pada tutorial sebelumnya kita telah belajar tentang cara membuat service bulk insert, pada sesi tutorial kali ini kita akan belajar cara membuat service filter dan download File CSV.
Django secara default telah suport CSV jadi Anda tidak memerlukan library tambahan untuk mengexport data ke dalam bentuk CSV.
CSV merupakan salah format file yang cukup populer dan banyak digunakan dalam berbagai pengolahan data, tentunya ini karena CSV mendukung banyak bahasa pemrograman dan hampir semua bahasa program komputer mendukung pengolahan data CSV.
Sebelum mengikuti tutorial ini pastikan bahwa Anda telah mengikuti tutorial tentang CRUD Service Produk.
Ada beberapa hal yang akan kita pelajari, perhatikan beberapa langkah berikut ini :
1) Json Response
Dibagian ini kita akan membuat terlebih dahulu json response yang menjadi hasil akhir dari tutorial ini:
Dibagian ini Anda perlu membuat serializer payload filter data product, perhatikan code berikut :
class FilterDataProduct(serializers.Serializer): date_from = serializers.CharField(max_length=35) date_end = serializers.CharField(max_length=35, allow_blank=True)
3) Fungsi Filter Data Product
Buat fungsi di App Product untuk memfilter data ke database berdasarkan tanggal create product:
def filterDataProductByDate(data): try: pass except Exception as e: pass
4) Fungsi Generate Link Download CSV
Bagian ini adalah bagian yang paling penting, karena di sini Anda perlu membuat link download CSV dengan menggunakan token.
Token ini nantinya akan memiliki waktu expired dengan tujuan untuk keamanan penggunaan dan penyebaran link download data.
5) Class API Filter data product
Jika sebelumnya kita sudah membuat class serializer untuk filter data product, dibagian ini Anda perlu menambakan serializer ke API filter data product.
6) Unit Test
Ini juga merupakan bagian terpenting dari rangkain proses filter dan download file CSV, di bagian ini kita menguji logika yang sudah kita buat apakah sudah sesuai dengan expektasi atau belum.
Jika belum maka Anda perlu memperbaiki lagi beberapa alur logika yang sudah Anda buat.
7) Uji life cycle melalui postman
Dibagian ini sistem dianggap sudah siap dikonsumsi oleh service client, sebelumnya Anda perlu menguji life cycle nya terlebih dahulu menggunakan postman.