#python #openerp
#python #odoo
Вопрос:
Я создал настраиваемый модуль для CRM-системы продаж в OpenERP. При создании возможности, когда я нажимаю на поле stage, это выдает мне следующую ошибку:
list = super(crm_stage_claim, self)._get_type_value(cr, user, context)
Ошибка атрибута: объект ‘super’ не имеет атрибута ‘_get_type_value’
Любая помощь по этому вопросу была бы оценена.
С уважением, sameer
Комментарии:
1. Мы помогаем вам с написанным вами кодом или с самим программным обеспечением?
2. Избегайте использования имен переменных, таких как ‘list’, ‘str’, ‘dict’, ‘float’, ‘int’ и т.д. который маскирует собственные типы Python.
3. Является
crm_stage_claim
классом или экземпляром? По соглашению имена классов записываются как CamelCaseLikeThis, а не как underscore_separated_like_this. Вот почему следование стандартным соглашениям об именовании поможет вам — когда вы просите других о помощи, они могут сделать разумные предположения о вашем коде, не тратя много вашего и их времени на глупые вопросы типа «является ли crm_stage_claim классом или экземпляром?»4. Было бы полезно добавить больше контекста для вашего кода. Если он привязан к ветке на панели запуска, добавьте ссылку на код, чтобы люди могли его видеть.
Ответ №1:
Убедитесь, что:
-
crm_stage_claim расширяет crm.case.stage
-
crm.case.stage наследуется от object (это класс нового стиля, который поддерживает super)
-
вы не переопределили super, назначив ему что-то еще, маскируя встроенный Python
-
crm.case.stage на самом деле имеет метод _get_type_value
Ответ №2:
Убедитесь, что код вашего модуля имеет доступ к crm_stage_claim
классу. В большинстве модулей у вас нет прямого доступа к другим модулям, у вас есть доступ только к классам сервера, таким как osv.osv
. Вы можете получить доступ к экземплярам классов других модулей, используя pooler
class, но я не уверен, сможете ли вы получить правильные типы таким образом.
Ответ №3:
Возможно, базовый класс crm_stage_claim не имеет метода атрибута _get_type_value
.
Комментарии:
1. Класс ‘crm_stage_claim’ имеет метод ‘_get_type_value’, унаследованный от crm.case.stage.
2. Нет, класс crm_stage_claim содержит метод _get_type_value , унаследованный от crm.case.stage