Odoo 101: 뷰 이해 및 구현
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
Odoo 개발 초보자 및 모듈 개발자
- 난이도: 기초 수준 (XML 구성, 뷰 확장, 메뉴 설정 등 핵심 개념 설명)
핵심 요약
__manifest__.py
에 XML 파일 순서 관리: 레코드 ID 참조 순서를 맞추지 않으면ValueError
발생의
sequence
와parent
속성: 메뉴 순서 및 계층 구조 정의- 뷰 확장 방법:
inherit_id
+xpath
로 기존 뷰 수정,QWeb
은 PDF 리포트/칸반 커스터마이징에 사용
섹션별 세부 요약
1. 모듈 구조 및 뷰 정의
views/
폴더에library_book_views.xml
생성__manifest__.py
의data
필드에 뷰 파일 등록 예시:
```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" 문서 참조 권장