Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1336 Переглядів

I have three models.

model 1 populasi.unit

id

namelokasi_unit

1

mobil_1I want to put a specific lokasi.name value in here. where populasi_unit.id = unit_mobilisasi.unit_mobilisasi_id

model 2 unit.mobilisasi

id

unit_mobilisasi_idlokasi_mobilisasi_id

mobilisasi_date

1

fields.Many2one('populasi.unit' string='Kode Unit')

fields.Many2one('lokasi', string='Lokasi")fields.Date(string="Mobilisation Date")

model 3 lokasi

id

name
1Singapore
2Belgia
3Canada

this is my model

#Inside unit_populasi.py

from dateutil.relativedelta import relativedelta

from odoo import api, fields, models
 
class PopulasiUnit(models.Model):
    _name = 'populasi.unit'
    _description = 'Populasi Unit'
   
    name = fields.Char(string='Kode Unit', required=True)
    kode_aktiva = fields.Char(string='Kode Aktiva')
    type_equipment = fields.Many2one('unit.type', string='Tipe Equipment')
    unit_model = fields.Many2one('unit.model', string='Unit Model')
    nama_aset = fields.Char(string='Nama Aset')
    plat_nomor = fields.Char(string='Plat Nomor')
    sn_unit = fields.Char(string='Nomor Rangka')
    sn_engine = fields.Char(string='Nomor Mesin')
    tahun_pembelian = fields.Char(string='Tahun Pembelian')
    spesifikasi = fields.Text(string='Spesifikasi')
    pengguna_id = fields.Many2one('hr.employee', string='Pengguna')
    kondisi_unit = fields.Many2one('unit.kondisi', string='Kondisi Unit')
    milik = fields.Many2one('res.company', string='Milik')
    keterangan = fields.Text(string='Keterangan')
    unit_image = fields.Image(string='Gambar unit')
    odometer = fields.Integer(string='Odometer')
    hourmeter = fields.Integer(string='Hour Meter')
    fuel = fields.Integer(string='BBM')
    mobilisasi_line = fields.One2many('unit.mobilisasi', 'unit_mobilisasi_id', string='Lokasi Mobilisasi', ondelete='cascade')
    operasional_line = fields.One2many('unit.operasional', 'unit_operasional_id', string='Operasional Unit', ondelete='cascade')
    lokasi_unit = fields.Many2one('unit.mobilisasi', string='Lokasi Unit')


    @api.model
    def _get_lokasi_mobilisasi(self):
        self._cr.execute("""
                        CREATE OR REPLACE VIEW crm_partner_report_assign AS (
                        SELECT dd.name
                        FROM populasi_unit aa
                        JOIN unit_mobilisasi bb
                        ON aa.id = bb.unit_mobilisasi_id
                        JOIN (SELECT MAX(tanggal_mobilisasi) AS MaxDate
                            FROM unit_mobilisasi
                            GROUP BY unit_mobilisasi_id) cc
                        ON bb.tanggal_mobilisasi = cc.MaxDate AND unit_mobilisasi_id = '1'
                        JOIN lokasi dd
                        ON bb.lokasi_mobilisasi_id = dd.id
                        )""")


       
#inside unit_mobilisasi.py

from odoo import api, fields, models

class UnitMobilisasi(models.Model):
    _name = "unit.mobilisasi"
    _description = "Mobilisasi Unit"
    _order = 'tanggal_mobilisasi desc'

    unit_mobilisasi_id = fields.Many2one('populasi.unit', string='Kode Unit')
    tanggal_mobilisasi = fields.Date(string='Tanggal Mobilisasi')
    lokasi_awal_id = fields.Many2one('lokasi', string='Lokasi Awal')
    lokasi_mobilisasi_id = fields.Many2one('lokasi', string='Lokasi Kirim')
    image_mobilisasi = fields.Image(string="Gambar Mobilisasi")
    unit_image = fields.Image(string='Gambar unit')
   

#inside lokasi.py

from odoo import api, fields, models

class Lokasi(models.Model):
    _name = 'lokasi'
    _description = 'Lokasi'

    name = fields.Char(string='Lokasi')


Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
3
вер. 25
3128
0
серп. 25
673
1
серп. 25
2834
2
лип. 25
8505
2
лип. 25
4908