crm_lead에 새 one2many를 통해 링크 된 새 모델을 추가했습니다 (crm_lead_external이라고 함).외부 리소스를 추적하는 OpenERP 모델
따라서 내 모듈에는 정의 된 crm_lead (_name = crm_lead 포함)와 crm_lead_external이라는 두 가지 모델이 정의되어 있습니다.
이 외부 모델은 파일을 추적하기 때문에 '파일 이름'필드가 있습니다.
또한이 파일 이름 필드에 고유 한 SQL 인덱스를 만들었습니다.
이 내 모듈의 일부입니다
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
default.update({
'state': 'new',
'filename': '',
})
ret = super(crm_lead_external, self).copy(cr, uid, id, default, context=context)
#do file copy
return ret
여기 의도는 외부 개체를 복제 할 수 있도록하는 것입니다 만, 파일 경로의 대상을 위해.
이제 Lead에서 복제본을 클릭하면 고유 제약 조건에 IntegrityError가 발생합니다. copy()가 호출되지 않는 특별한 이유가 있습니까?
이 논리를 copy_data()에 추가해야합니까? Myst 정말 copy()를 무시합니다. 사전에
감사합니다. 당신의 crm_lead_external
클래스 등 모든 osv
서브 클래스에 액세스 할 수 있습니다 copy
및 copy_data
:
그래, 내 옵션 중 하나를 부모 (crm.lead) 사본을 재정의() 또는 자식 (crm.lead.external) copy_data()를 재정의합니다. Drat. 정보를 제공해 주셔서 감사합니다. 아직 외부 리소스를 복사 할 곳을 알지 못하기 때문에 copy_data()를 재정의하지 않을 것입니다. 따라서 메소드 1 (기본값 지우기)을 수행 한 다음 객체의 수동 사용자 정의 복사본을 수행합니다. –