XML에서 양식보기를 상속하여 일부 필드를 보이지 않게 설정하려고하지만 언젠가는 해당 모듈을 설치하지 않겠습니다.Odoo : 모듈이 설치되었는지 확인하는 방법은 무엇입니까?
해결 방법?
XML에서 양식보기를 상속하여 일부 필드를 보이지 않게 설정하려고하지만 언젠가는 해당 모듈을 설치하지 않겠습니다.Odoo : 모듈이 설치되었는지 확인하는 방법은 무엇입니까?
해결 방법?
당신은 수정할보기의 모델이 코드를 추가 할 수 있습니다
@api.depends()
def _compute_module_x_installed(self):
for record in self:
module = self.env['ir.module.module'].search([
('name', '=', 'the_module_name')
])
if module and module.state == 'installed':
record.update({
'module_x_installed': True,
})
module_x_installed = fields.Boolean(
compute='_compute_module_x_installed',
string='Is X installed?',
)
그런 식으로 당신은 모듈의 설치 여부를 표시하는 필드가 있습니다.
또한 ir_module_module 데이터베이스 테이블을 사용하여 모듈의 현재 상태를 얻을 수 있습니다. 라는 새 데이터베이스 테이블을 만들 Odoo
ir.module.module 모델은 우리가 '결과가 입니다 얻을 경우 Pgadmin 도구
select state from ir_module_module where name='Your_module_name(technical_name)';
를 사용하여 SQL 쿼리를 통해 우리의 모듈의 상태를 검색 할 수 있습니다 ir_module_module입니다 '을 설치 했으므로 모듈이 데이터베이스에 설치되어 있음을 의미합니다.
제안 해 주셔서 감사합니다. @forvas를 사용하지만 XML 파일의 입력란을 수정하고 PY 파일에 입력하십시오. 나는 당신의 코드가 xml 파일과 어떻게 작동하는지 이해하지 못한다. 모듈을 수정하고 싶지만 그 모듈을 설치하지 않는다. 내 어리 석음 때문에 미안해. 내가 뭘해야하는지 알려주세요. – Disuan
내가 원하는 것을 더 잘 이해합니다. 올바른 방법은 주요 기능인 주 모듈 두 개와 모듈을 보이지 않게 만드는 XML 코드 만 추가하는 보조 모듈 두 개를 만드는 것입니다.이 코드는' 1 ). 이 보조 모듈은 주 모듈과 보이지 않게 만드는 필드를 만든 모듈 (설치되거나 설치되지 않을 것)에 의존해야합니다 ('__manifest __. py'). –
forvas
self.env [] 내의 모델 이름은 문자열이어야하며 따옴표가 없습니다. –