объект ‘super’ не имеет атрибута ‘_get_type_value’

#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