Odoo cara memanggil sebuah fungsi di model dari view XML

Terkadang pada saat update modul, kita butuh untuk memanggil sebuah fungsi Python. Untuk memanggil sebuah fungsi Python kita dapat menggunakan view XML sebagai trigger / pemicu.

Logo Odoo

  • Anggaplah kita membuat suatu modul dengan nama “module_test”.
  • Buat sebuah view XML:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
	<data>
		<function id="id_module_test_call" model="module.test.call" name="do_call_function"/>
	</data>
</odoo>
  • Buat sebuah TransientModel. Gunakan TransientModel, agar data disimpan odoo secara temporer, tidak permanen.
from odoo import models, api

class ModuleTest(models.TransientModel):
	_name = 'module.test.call'

	@api.model
	def do_call_function(self):
		"""Buat sebuah algoritma disini."""
		......
		......

Setelah itu setiap saat update modul, fungsi akan dipanggil oleh sistem.

Jika fungsi hanya ingin dipanggil sekali saja saat update modul, dan tidak dipanggil lagi saat update modul selanjutnya, maka tambahkan noupdate=”1″ padakode XML-nya, lihat kode dibawah sebagai contoh.

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
	<data noupdate="1">
		<function id="id_module_test_call" model="module.test.call" name="do_call_function"/>
	</data>
</odoo>

Sekian, selamat mencoba.

Comments

1 komentar untuk “Odoo cara memanggil sebuah fungsi di model dari view XML”

  1. Ping-kembali: Trik Optimasi Database Odoo - Cak Juice

Komentar ditutup.