Membuat Service Filter dan Download File CSV di Django

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan !
Membuat Service Filter dan Download File CSV di Django
Sepeda Motor Listrik PROSTREET

Sepeda Motor Listrik PROSTREET

Merk : PROSTREET KITKAT - Type : Sepeda Listrik - Battery : 48V/ 20AH - Motor Power : 650WATT - Kecepatan Max : 45km/ - Jarak Tempuh : ± 60 KM - Daya Angkut : Max. 150 Kg

Free Klik Disini !

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:

{
"start_date":"xxxx",
"end_date":"xxxx",
"product_status":["PENDING","PUBLISH"],
"total": 120,
"download_url":"http://localhost:8000/api/v1/product/download-csv/{SH-256}"
}

2) Serializer Filter Data Product


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.

8) Video Tutorial Lengkap


Video Bagian 1 :

Video Bagian 2 :

Video Bagian 3 :

Githubhttps://github.com/halovina/hvsuserservice/tree/export-file-csv

Baca artikel lainya:


  1. Membuat service user login bagian 1 - Konfigurasi Database

  2. Membuat service user login bagian 2 - Serializer dan JWT

  3. Membuat CRUD service product bagian 1 - Models Product

  4. Membuat CRUD service product bagian 2 - Function Serializer

  5. Membuat CRUD service product bagian 3 - Api Client Service

  6. Membaut CRUD service product bagian 4 - Auth User

  7. Membuat CRUD service product bagian 5 - TDR File Log

  8. Membuat CRUD service product bagian 6 - Unit Test

  9. Django upload file menggunakan FileSystemStorage

  10. Tips meningkatkan kualitas code pada bahasa python

  11. Cara memfilter tipe data string pada golang dan python

  12. Mengubah format datetime pada bahasa python

  13. Mengolah data CSV dengan python pandas

  14. Sample join data CSV di python menggunakan pandas

  15. Menggunakan redis PUB/SUB untuk aplikasi python

  16. Implementasi blockchain ethereum pada industri real estate

  17. 4 Cara mengubah dictionary ke json pada python