Assalamu'alaikum saya akan berbagi pengalaman selama menjadi programmer odoo, kali ini saya akan menjelaskan tentang dynamic domain di odoo. kali ini kita menggunakan odoo 10.
Pertama kita definisikan fields many2many untuk menyimpan list id yang akan ditampilkan di fields one2many, di fields many2many kita gunakan compute untuk mengambil data yang akan di tampilkan di one2many.
lalu kita buat method compute untuk fields list_rab
perhatikan self.list_rab = list_rab dan self.list_rab = [False] di coding yang ini akan mengembalikan nilai list_rab yang ada di function ke dalam fields.
jangan lupa untuk menambahkan fields list_rab kedalam file xml.
setelah kita mendapatkan data yang akan ditampilkan di fields rab, sekarang kita akan memberi domain ke fields one2many-nya.
pada coding domain=lambda self:[('id','in',self.execute_domain(self.list_rab)) untuk menggunakan variable self, biasanya menggunakan lambda self: berikutnya memanggil fungsi execute_domain untuk merubah fields many2many menjadi list yang akan digunakan sebagai domain.