product.service.type
이라는 새 모델을 만들었습니다. 그런 다음 product.product
모델에서 Many2many
필드 (service_type
, product.service.type
모델을 가리킴)를 만들었습니다. Odoo에서 동적 도메인 문제를 해결하는 방법은 무엇입니까?
product_id
및
service_type_id
필드가 모델
test
, 모두
Many2one
각각
product.product
및
product.service.type
를 가리키는 있습니다.
내가 원하는 것은 제품을 선택하면 선택한 제품의 서비스 유형 만 표시되도록 서비스 유형 도메인이 변경된다는 것입니다. 따라서이 큰 노력
def onchange_product_id(self, cr, uid, ids, product_id, context=None):
if product_id:
product = self.pool.get('product.product').browse(
cr, uid, [product_id], context=context)
service_type_ids = product.service_type.mapped('id')
return {
'domain': {
'service_type_id': [('id', 'in', service_type_ids)],
},
}
이 경우 onchange
가 실행되고 있지 않기 때문에 당신이 기록을 (새로 생성되지 않음) 편집 할 때 문제이고 : 나는 onchange
통해 관리 도메인은 모든 서비스 유형을 보여줍니다.
title
필드와 함께 파트너 형식으로 같은 문제가 발생할 수 있습니다. 회사 인 새로운 파트너를 만들고 title
도메인의 도메인을 변경하여 Corp., Ltd. 등과 같은 레코드 만 선택할 수 있도록 설정합니다.하지만 파트너를 연락처로 설정하면 다음 중에서 선택할 수 있습니다. 의사와 같은 레코드, 마담, 미스 등 이제 파트너를 원하는 데이터로 저장하고 상단 바의 다른 메뉴로 이동하십시오. 파트너 양식으로 돌아가 작성한 파트너를 열어 편집하십시오. is_company
필드를 변경하지 않고 title
필드를 확인하십시오. 파트너가 특정 클래스 (회사 또는 연락처)에 속하더라도 모든 타이틀을 사용할 수 있습니다.
어떻게이 문제를 해결할 수 있습니까?
이 응답 해 주셔서 감사합니다 도메인있을 것이다 하지만 불행히도 작동하지 않습니다. XML 컨텍스트를'many2many' 필드에 추가하라고 말했지만이 필드는'product.product' ('service_type')와'product.service.type' ('product_ids')에 존재합니다. 'context'를'test' 모델의'service_type_id'라는 이름의 Many2one 필드에 추가하는 것을 의미하지 않습니까? 나는 또한 이것을했다. 그러나'search'는 심지어 처형되지도 않는다. – forvas