Relasi One2many pada Odoo 17 Visual Studio Code Development

Jan 5, 2025 | Odoo 17 Development

Setelah kita membahas relasi Many2one pada pengembangan aplikasi Odoo 17 dengan Visual Studio Code maka kita melanjutkan dengan relasi kebalikannya yaitu One2many pada pengembangan aplikasi Odoo 17 dengan menggunakan Visual Studio Code.

Pembuatan relasi One2many pada pembuatan aplikasi Odoo 17 menggunakan Visual Studio Code adalah seperti pada penjelasan-penjelasan berikut ini

  1. Start SSH Filesystem client pada Windows 10
  2. Login SSH

  3. Pembuatan model asrama.student dengan relasi Many2one

    from odoo import fields, models
    
    class AsramaStudent(models.Model):
        _name = 'asrama.student'
        _description = 'Informasi Asrama Student'
    
        nama = fields.Char('Nama pelajar')
        gender = fields.Selection(
            [('male','Male'),('female','Female'),('other','Other')],
            string='Jenis kelamin',
            help='Jenis kelamin pelajar',
        )
        active = fields.Boolean('Active',default=True,help='Activate/Deactive record')
    
        room_id = fields.Many2one('asrama.room','Room',help='Pilih room')
        
        status = fields.Selection(
            [('draft','Draft'),('reservation','Reservation'),('pending','Pending'),('paid','Done'),('discharge','Discharge'),('cancel','Cancel')],
            string='Status',copy=False,default='draft',
            help='Status asrama student'
        )
    
  4. Model asrama.room dengan relasi One2many

    from odoo import fields, models
    
    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')
    
  5. Update __init__.py pada folder models

    from . import hostel
    from . import asrama_room
    from . import asrama_student
    from . import asrama_amenities
    

  6. Start Odoo dengan update modul
  7. Tabel asrama_student
    Field-field dalam tabel asrama_student:


    Constrain dalam tabel asrama_student:

  8. Tabel asrama_room
    Field-field dalam asrama_room:


    Constraint pada tabel asrama_room:

Kunjungi www.proweb.co.id/implementasi-odoo/ untuk menambah wawasan implementasi Odoo ERP.