odoo 13: обратное имя в comodel

#python #odoo-13

Вопрос:

Я совершенно новичок в odoo, и я столкнулся с этой проблемой: у меня есть модуль под названием «comite technique», в котором есть поле one2many с моделью «промоутеры» в другом модуле, поэтому мне пришлось добавить поле many2one в модель «промоутеры», чтобы заставить ее работать, когда я добавил поле many2one, промоутеры работают довольно хорошо, вот код моделей.py в модуле промоутеры:

 class promoteurinitiative(models.Model):  _name = 'initiative.promoteur'  _rec_name = 'prenom'   civilite = fields.Many2one('res.partner.title')  nom = fields.Char(string="Nom", required=True)  prenom = fields.Char(string="Prénom", required=True)  date = fields.Date(string="Date de naissance", required=True)  email = fields.Char()  country_id = fields.Many2one('res.country', string='Country', ondelete='restrict')  tel = fields.Char(string="Tél", required=True)  contract_count = fields.Integer()  comite_id = fields.Many2one('initiative.comitetechnique', string="Comité technique")  

Но всякий раз ,когда я добавляю поле one2many в «технику comite», изменяю его вид, перезапускаю сервер odoo и пытаюсь обновить модуль, я получаю эту ошибку: введите описание изображения здесь, чтобы увидеть Вот код в models.py модуля «Техника комитета» :

 import calendar   class comitetechniqueinitiative(models.Model):  _name = 'initiative.comitetechnique'  _rec_name = 'date'  _description = 'comitetechniqueinitiative'   date = fields.Date(default=fields.Date.today, string="Date de la comité technique", required=True)  jour = fields.Char( string='Jour')  pro = fields.One2many('initiative.promoteur','comite_id')    @api.onchange('date')  def _get_day_of_date(self):  for r in self:  if r.date :  selected = fields.Datetime.from_string(r.date)  r.jour = calendar.day_name[selected.weekday()]  

Я буду признателен, если вы поможете найти решение этой проблемы

Комментарии:

1. Определены ли обе модели в одном и том же модуле? Если да, то загружаются ли их файлы Python их папками __init__.py , а их папки загружаются корнем __init__.py ?

Ответ №1:

Проблема решена с помощью наследования и добавления зависимостей в файл manfiest. В models.py модуля «Техника комитета» :

 class comitetechniqueinitiative(models.Model):  _name = 'initiative.comitetechnique'  _rec_name = 'date'  _description = 'comitetechniqueinitiative anwar'   date = fields.Date(default=fields.Date.today, string="Date du comité technique", required=True)  jour = fields.Selection([('lundi', 'Lundi'), ('mardi', 'Mardi'), ('mercredi', 'Mercredi'), ('jeudi', 'Jeudi'),('vendredi','Vendredi'),('samedi','Samedi'),('dimanche','Dimanche')  ], string='Jour')  promoteur = fields.One2many('initiative.promoteur','comite_id')  class promoteur(models.Model):   _inherit = "initiative.promoteur"   comite_id = fields.Many2one('initiative.comitetechnique', string="Comité technique")  

И добавление в файл манифеста того же модуля зависимости от модуля промоутера:

 'depends': ['base','promoteurinitiative']