Odoo에서 사용자 정의 필드 속성을 추가하는 방법이 있습니까? 예를 들어 모든 필드에는 사용자의 필드를 설명하는 메시지를 입력 할 수있는 help
속성이 있습니다. 그래서 사용자 정의 속성을 추가하여 필드의 모든 유형에 대해 필드가 작동하는 방식을 변경합니다.Odoo - 사용자 정의 필드 속성을 추가 하시겠습니까?
Field
클래스에 추가하고 싶습니다. 모든 필드에서 해당 속성을 가져옵니다. 하지만 내가하는 일과 상관없이 Odoo는 그런 속성이 추가 된 것을 보지 못합니다.
some_field = fields.Char(custom_att="hello")
그런 다음이 단순히 무시된다 :
단순히 새로운 사용자를 추가하는 경우
좋아 때문이다. 이def fields_get(self, cr, user, allfields=None, context=None, write_access=True, attributes=None):
""" fields_get([fields][, attributes])
Return the definition of each field.
The returned value is a dictionary (indiced by field name) of
dictionaries. The _inherits'd fields are included. The string, help,
and selection (if present) attributes are translated.
:param allfields: list of fields to document, all if empty or not provided
:param attributes: list of description attributes to return for each field, all if empty or not provided
"""
그래서 전화, 내 사용자 지정 특성을 반환하지 않습니다 (원래에 의해 정의 된 사람을 반환하지 : 그리고 나는 그것이 원하는 속성 값 (정보가 무엇을 반환 할 수 있습니다 방법 fields_get
,에 의해 선택 될 필요가 Odoo하지만).
나는 또한 원숭이 패치 (_slots
를 업데이트하거나 Field
클래스의 소스 코드) 속성을 변경하여 테스트했지만, 내 속성이 여전히 무시되고 있기 때문에. 충분하지 않은 것 같다.
from openerp import fields
original_slots = fields.Field._slots
_slots = original_slots
_slots['custom_att'] = None
fields.Field._slots = _slots
필드에 새로운 사용자 정의 속성을 올바르게 추가하는 방법을 아는 사람 있습니까?
나는이 시도하고 당신은 또한 ('Field' 클래스)'_slots' 사전 안에 그 속성을 추가해야하지만 그것은 작동, 그래서 기본 값을 얻을 것이다 그렇지 않으면 Odoo가 오류를 발생시킵니다. 이제는 소스 코드를 직접 수정하지 않고이를 적용하는 방법을 알아야합니다. – Andrius