Array
Pertama-tama, mari kita lihat lebih dekat teks penting ini dari dokumen Postgresql Arrays.
Tip:Array bukan set; mencari elemen array tertentu dapat menjadi tanda kesalahan desain basis data. Pertimbangkan untuk menggunakan tabel terpisah dengan panah untuk setiap item yang akan menjadi elemen array. Ini akan lebih mudah untuk ditelusuri, dan kemungkinan akan berskala lebih baik untuk sejumlah besar elemen.
Sebagian besar waktu, Anda tidak boleh menggunakan array.
JSONB
JSONB tersedia di Django sebagai tipe JSONField. Bidang ini lebih terukur dan fleksibel daripada bidang larik dan dapat dicari dengan lebih efisien. Namun jika Anda menemukan diri Anda mencari di dalam bidang JSONB sepanjang waktu, pernyataan di atas tentang Array sama-sama valid untuk JSONB.
Sekarang apa yang Anda miliki di sistem Anda? Sebuah array yang menampung bidang JSONB. Ini adalah bencana yang menunggu untuk terjadi. Harap normalkan data Anda.
Rekap
jadi kapan harus menggunakan ArrayField?
Pada kesempatan langka ketika Anda tidak perlu mencari di kolom itu dan Anda tidak perlu menggunakan kolom itu untuk bergabung.