Dalam melakukan pemrograman kita akan membuat batasan-batasan sesuai dengan logika aplikasi. Begitu juga dalam melakukan pemrograman Odoo 17 kita akan membuat contraint atau batasan sesuai logika aplikasi. Pada Odoo 17 development ini kita mengenal SQL constraint dan Python constraint.
Constraint atau batasan dalam pengembangan aplikasi Odoo 17 adalah seperti langkah-langkah berikut ini
- Start SSH Filesystem
- Model asrama.room
from odoo import fields, models, api, _ from odoo.exceptions import ValidationError class AsramaRoom(models.Model): _name = 'asrama.room' _description = 'Informasi Kamar Asrama' _rec_name = 'room_no' name = fields.Char('Nama kamar',required=True) room_no = fields.Char('No kamar',required=True) floor_no = fields.Integer('No Lantai',default=1, help='No Lantai') currency_id = fields.Many2one('res.currency',string='Mata uang') rent_amount = fields.Monetary('Harga sewa',help='Masukkan harga sewa') hostel_id = fields.Many2one('asrama.hostel','Hostel', help='Nama hostel') student_ids = fields.One2many('asrama.student','room_id','Daftar pelajar',help='Pelajar-pelajar dalam room ini') asrama_amenities_ids = fields.Many2many('asrama.amenities', 'asrama_amenities_rel','room_id','amenity_id', string='Amenities', domain="[('active','=',True)]", help='Pilih fasilitas room' ) _sql_constraints = [('room_no_unique','unique(room_no)','Nomor room harus unik!')] @api.constrains('rent_amount') def _check_rent_amount(self): """Constraint pada nilai negatif""" if self.rent_amount < 0: raise ValidationError(_('Nilai rental tidak boleh negatif'))
- Login SSH dan start odoo dengan update modul
- Constraint pada tabel asrama_room
- Data yang ada saat ini
- Hasil penerapan SQL Constraint
- Hasil penerapan Python constraint
Kunjungi www.proweb.co.id/implementasi-odoo/ untuk menambah wawasan implementasi Odoo ERP.