2015-10-28 7 views
2

Я новичок в Odoo и python, и я хочу создать простой модуль, который должен вставить некоторые категории для человека (ученика, сотрудника, ...), а затем вставить лиц с категорией поля. Мой вопрос в том, как создать p_c_view.xml. Я попытался скорректировать некоторые примеры xmls, которые я нашел, но не имел успеха. Вот мой файл p_c.py. БлагодаряOdoo one2many view

class p_c_person(osv.osv): 
     _name = "p_c.person" 
     _description = "Person" 
     _columns = { 
      'name': fields.char('Persone', size=128, required=True), 
      'categories': fields.one2many('p_c.category', 'category_id', 'Categories' 
     } 

    p_c_person() 

    class p_c_category(osv.osv): 
     _name = "p_c.category" 
     _description = "Category" 
     _columns = { 
      'name': fields.char('Category', size=128, required=True), 
      'property_id': fields.many2one('p_c.person', 'Person Name', select=True), 
     } 

    p_c_category() 

ответ

2

Many2one

магазин отношение к со-модели:

Конкретные варианты:

  • comodel_name: название противоположной модели
  • делегат: установите его Правда, чтобы сделать поле целевой модели доступно из текущей модели (соответствует _inherits)

Пример:

'property_id': fields.many2one('p_c.person', 'Person Name', select=True), 

One2many

магазин отношение ко многим рядам со-модели:

Конкретные варианты:

  • comodel_name: название противоположной модели
  • inverse_name: реляционная колонка противоположной модели

Пример:

'categories': fields.one2many('p_c.category', 'property_id', 'Categories'), 

См Odoo documentation

One2many поле, созданное только для реляционных many2one поля этой модели, она дает вам свободу путешествовать двунаправленным. Odoo engine управляет целостностью при создании записи в базовой модели, в которой вы определили поле many2one, тогда вы увидите эффект в поле one2many.

2

one2many поля принимает в ответ many2one поля с этим объектом.

попробовать с этим кодом

class p_c_person(osv.osv): 
    _name = "p_c.person" 
    _description = "Person" 
    _columns = { 
     'name': fields.char('Persone', size=128, required=True), 
     'categories': fields.one2many('p_c.category', 'property_id', 'Categories' 
    } 

p_c_person() 

class p_c_category(osv.osv): 
    _name = "p_c.category" 
    _description = "Category" 
    _columns = { 
     'name': fields.char('Category', size=128, required=True), 
     'property_id': fields.many2one('p_c.person', 'Person Name', select=True), 
    } 

p_c_category() 

Для получения более подробной информации вы можете посетить odoo documentation.

Смежные вопросы