2013-10-04 4 views
-1

저는 우분투 12.04에서 OpenERP 모듈을 개발하기 위해 노력해 왔습니다.이 개발 유형에서 초보자로서 인터넷을 살펴 보았습니다. 나는 파이썬 언어로 OpenERP 개발에서 self.write이 무슨 뜻인지 알고 싶었다. 다음 코드 줄에서 몇 가지 이해할 수있는 단어를 얻을 수 있다면 매우 기쁩니다.이렇게 코드에서 자기 .write는 무엇을 의미합니까?

self.write(cr, uid, [id], {'image': tools.image_resize_image_big(value)}, context=context) 

가능한 한 빨리 도움을 요청하십시오. 감사합니다. (arsalan)

+0

http://docs.python.org/2/tutorial/classes.html –

답변

2

self은 현재 인스턴스에 대한 참조입니다. 따라서 self.write은 현재 인스턴스의 클래스 write 메서드에 대한 참조입니다. 아마도 클래스는 파일과 같은 객체입니다. 어떤 종류의 수업을 다루는 지 알지 못해 더 말하기가 어렵습니다.

3

self.write() OpenERP에 ORM (Object Relational Mapping) 메소드가 정의되어 있습니까? OpenERP의 구조에는 사전 _columns = {}이있는 클래스 (객체)가 있습니다. ORM의 메커니즘을 사용하면 클래스와 동일한 이름을 가진 새로운 테이블이 데이터베이스에 생성됩니다. _columns = {} 사전 안에는 몇 가지 필드가 있습니다. 이 필드는 작성된 테이블의 컬럼입니다. 예를 들어,

클래스 hr_job (osv.osv) 아래 코드 :

_columns = { 
     'name': fields.char('Job Name', size=128, required=True, select=True), 
     } 

가 데이터베이스에 테이블 이름 hr_job이 테이블 '이름'의 필드를 작성합니다. 이 클래스에 'self.write()'메소드를 쓰면 테이블 hr_job의 특정 필드 값을 쓰거나 수정합니다. 이 경우, 테이블 (클래스)의 이미지 필드 값이 변경됩니다. 희망이 당신을 도울 것입니다.

+0

좋습니다. 그러나 나는이 기능에있는 매개 변수와 혼동하지 않습니다. cr, uid, id처럼. 그들은 여기서 무엇을합니까 –

+0

모든 ORM 메서드는 db와 통신 할 수 있도록 몇 가지 매개 변수를 가지고 있습니다. cr은 db에 연결하는 데 사용되는 데이터베이스 커서 객체입니다. uid는 현재 로그인 한 사용자의 ID입니다. [id] 또는 [ids]는 db 작업을 수행하려는 ID의 목록입니다. – Dharmraj

+0

하지만 id, cr 등의 구현은 어떻게 되나요? –

관련 문제