Tutorial Odoo - Jenis dan Penjelasan Property pada Model

Tutorial Odoo - Jenis dan Penjelasan Property pada Model

Di dalam Model terdapat beberapa property yang dapat kita gunakan untuk membuat sebuah Model. Berikut beberapa property default bawaan Odoo.

1. _name

Property ini digunakan untuk membuat tabel baru pada database. Jika menggunakan property ini maka jangan sampai ada duplikat nama yang sama, baik dengan module buatan kita sendiri maupun dengan module bawaan Odoo. Penulisannya biasanya diawali dengan nama module dan diikuti dengan nama tabel. Lihat contoh kodenya seperti berikut:

from odoo import api, fields, models, _

class SaleOrder(models.Model):
    _name = "sale.order"

2. _inherit

Jika kita ingin mengubah atau menambahkan kolom lain pada tabel yang sudah ada, maka kita dapat menggunakan property ini. Pastikan ketika kita menggunakan property ini, nama model tersebut sudah ada. Contoh penggunaannya, misal kita mau menambahkan kolom baru bernama "member" pada model "sale.order". Karena model tersebut sudah ada (bawaan odoo) maka kita dapat menuliskannya seperti berikut:

from odoo import api, fields, models, _

class CustomSaleOrder(models.Model):
    _inherit = "sale.order"

    member = fields.Char()

3. _description

Property ini berguna untuk memberikan keterangan pada user tentang modul tersebut. Kita tidak wajib untuk menambahkan property ini, karena secara default dari Odoo akan diberi nilai sama dengan property_name. Contoh penulisan kodenya seperti berikut:

from odoo import api, fields, models, _

class SaleOrder(models.Model):
    _inherit = "sale.order"
    _description = "Sale Order Description"

4. _order

Property ini digunakan untuk mengurutkan data berdasarkan keinginan kita. Jika kita ada multiple fungsi order, maka gunakan tanda koma untuk memisahkannya. Lihat contoh kode berikut:

from odoo import api, fields, models, _
 
class CustomModel(models.Model):
    _name = "custom.model"
    _description = "Custom Model"
    _order = "create_date DESC, name ASC"

5. _sql_constraints

Property ini digunakan untuk membuat sebuah rules atau aturan, misal field harus unik, dll. Contoh kodenya seperti berikut:

from odoo import api, fields, models, _
 
class CustomModel(models.Model):
    _name = "custom.model"
    _description = "Custom Model"
    _order = "create_date DESC, name ASC"

    _sql_constraints = [('code_uniq', 'unique(code)', _('Kode harus unik'))]

6. fields

Property ini untuk membuat sebuat kolom dalam table, dimana kita dapat bebas memberi nama apa saja. Untuk penulisannya jangan gunakan spasi, melainkan gunakan underscore ( _ ) jika memang dibutuhkan. Ada banyak tipe field dalam Odoo, di antaranya Char, Boolean, Integer, Float, Date, Datetime, Binary, Selection, dan Relation Type. Contoh penulisan kodenya seperti berikut:

from odoo import api, fields, models, _
 
class CustomModel(models.Model):
    _name = "custom.model"
    _description = "Custom Model"
    _order = "create_date DESC, name ASC"

    code = fields.Char('Kode Transaksi')

Oke sekian pembahasan odoo kita kali ini, semoga bermanfaat.

Posting Komentar

Lebih baru Lebih lama