Я создаю новый модуль в Odoo (OpenERP), но не могу правильно использовать поле.
(http://i.stack.imgur.com/pKQpT.png)
Я могу выбрать поле из другого класса (определенного в том же модуле), но мне нужно изменить отображаемое значение.
В этом примере у меня есть строка «menu, 2» для поля piatto. Эта строка получена из класса ordini с полем many2one, но я хочу отобразить поле с именем nome (показано на следующем изображении ).
(http://i.stack.imgur.com/nQwRL.png)
Это файл Python.
class menu(osv.Model):
_name = "menu"
_description = "Menu"
_order = "tipo"
_columns = {
'nome': fields.char('Nome', size=80, required=True),
'tipo': fields.selection([
('antipasto', 'antipasto'),
('primo', 'primo piatto'),
('secondo', 'secondo piatto'),
('contorno', 'contorno'),
('dolce', 'dolce')
], 'Tipo di piatto'),
'prezzo': fields.float('Prezzo', digits=(10,2), required=True),
'ingredienti': fields.text('Lista ingredienti'),
'immagine': fields.binary('Immagine'),
}
_sql_constraints = [('unique_name', 'unique(nome)', 'Il piatto è già presente.')]
class ordini(osv.Model):
_name = "ordini"
_description = "Ordini"
_columns = {
'dipendente': fields.many2one('hr.employee', 'Dipendente', ondelete='set null', required=True),
'dettagli_ids': fields.one2many('ordini.dettagli', 'n_ordine', 'Ordine'),
}
class ordini_dettagli(osv.Model):
_name = "ordini.dettagli"
_description = "Dettagli ordine"
_columns = {
'n_ordine': fields.integer('Ordine', readonly=True),
'piatto': fields.many2one('menu', 'Piatto'),
'qta': fields.integer('Quantità'),
'prezzo_piatto': fields.related('piatto','prezzo',type='float',string='Prezzo',readonly=True),
}
_defaults = {
'qta': 1,
}
ИЗМЕНИТЬ Мне также нужно обновить поле prezzo, когда я выбираю запись piatto.
Спасибо.