Cara Menampilkan Field-Field dan Value Debug/Print Yang Mempunyai Nilai ID Agar Dapat Menampilkan Semua Field dan Valuenya Dari ID Tersebut Tanpa Melihat Query Deluxe

Assalamualaikum....

Pada materi kali ini saya akan share cara breakdown hasil debug/print yang mempunyai nilai ID tanpa melihat Query Deluxe di Odoo 16.

Langsung saja ke inti pembahasannya:

Pada saat kita debug/print object seperti id dan ids hasilnya akan menampilan sebuah ID dan tidak dapat melihat apa saja isi field dan value dari ID tersebut kecuali melihat langsung dari modul Query Deluxe, berikut contohnya:

pick = confirm_picking.filtered(lambda x: x.picking_type_id.sequence_code == 'PICK')
pack = confirm_picking.filtered(lambda x: x.picking_type_id.sequence_code == 'PACK')
print('===========', pick)


Kita akan mendebug sebuah variable yang mempunya object dari Stock.Pickng, berikut hasil dari code diatas, dan untuk hasil print/debugnya ditandai dengan baris biru:


Nah dari hasil tersebut print/debug yang kita buat hanya dapat menampilkan ID dari object Stock.Picking, sedangkan saya ingin melihat ada field dan value apa saja dalam ID tersebut.

Untuk selanjutnya kita akan membuat kode baru untuk menampilkan field-field dan nilai dalam id tersebut, berikut kodenya:

for field in pick._fields:
value = getattr(pick, field)
print(field, '===HASIL=====>', value)


Berikut Penjelasannya:

- for field in pick._fields: - Melakukan iterasi (looping) melalui setiap atribut (field) yang ada dalam objek pick. _fields adalah atribut bawaan di Odoo yang menyimpan daftar nama atribut yang terdefinisi dalam suatu model.
- value = getattr(pick, field) - Menggunakan fungsi getattr() untuk mendapatkan nilai dari atribut (field) yang sedang diiterasi dalam objek pick. getattr() menerima dua parameter: objek (pick) dan nama atribut (field), dan mengembalikan nilai dari atribut tersebut.

Hasilnya dari ID tersebut:


mage.


Bila ada tutur kata yang salah, saya mohon maaf. Atas perhatiannya, saya ucapkan Terima Kasih.




Tips Custom Odoo dengan mindset "Techno-Functional"