Odoo 101: 뷰 이해 및 구현 - Odoo 개발 가이드
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Odoo 101: 뷰 이해 및 구현

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

Odoo 개발 초보자 및 모듈 개발자

  • 난이도: 기초 수준 (XML 구성, 뷰 확장, 메뉴 설정 등 핵심 개념 설명)

핵심 요약

  • __manifest__.py에 XML 파일 순서 관리: 레코드 ID 참조 순서를 맞추지 않으면 ValueError 발생
  • sequenceparent 속성: 메뉴 순서 및 계층 구조 정의
  • 뷰 확장 방법: inherit_id + xpath로 기존 뷰 수정, QWeb은 PDF 리포트/칸반 커스터마이징에 사용

섹션별 세부 요약

1. 모듈 구조 및 뷰 정의

  • views/ 폴더에 library_book_views.xml 생성
  • __manifest__.pydata 필드에 뷰 파일 등록 예시:

```python

'data': [

'views/library_book_views.xml',

],

```

2. XML 파일 순서의 중요성

  • 참조 순서 오류 예: library_book_views.xml이 먼저 등록되면 메뉴 아이템 ID가 정의되지 않음
  • 예시:

```python

'data': [

'views/menu.xml', # 메뉴 아이템 정의

'views/library_book_views.xml', # 메뉴 아이템 참조

],

```

3. `` 구성

  • sequence: 숫자가 작을수록 메뉴 상단에 배치
  • parent: 하위 메뉴로 구성 (예: parent="library_menu_root")
  • action 속성: 특정 모델/뷰 연결 (예: action="action_library_book")

4. 뷰 타입별 기능

  • Tree View: 기록 목록 표시 (many2many, one2many 필드도 지원)
  • Form View: 기록 생성/편집
  • Kanban View: 단계 기반 워크플로우 (예: CRM 파이프라인)
  • Search View: 필터 및 그룹화 옵션 제공

5. 위젯과 뷰 확장

  • Widgets: 필드 UI 표시 방식 제어 (예: tree, kanban)
  • 뷰 확장: inherit_id + xpath로 기존 뷰 수정, inherit component로 컴포넌트 속성/대체

6. QWeb 활용

  • 사용 목적: PDF 리포트 생성, 칸반 커스터마이징, 클라이언트 렌더링
  • 예시:

```xml

Book Report

```

결론

  • 개발자 모드 활성화: 뷰 ID 및 구조 확인
  • 실 데이터 테스트: 사용성 검증 필수
  • QWeb 심화 학습: "Odoo 101: QWeb" 문서 참조 권장