Python 5

Odoo Recordset 완벽 가이드: 개념부터 필수 가공 메서드 3종과 self 다루기

Odoo 개발에서 비즈니스 로직을 작성할 때 가장 기본이 되는 핵심 단위는 레코드셋(Recordset)입니다. Odoo ORM의 검색과 조회 기능은 개별 레코드가 아니라 항상 레코드들의 모음 형태로 데이터를 반환하므로, 레코드셋의 동작 원리와 가공 방법을 정확히 이해해야 효율적이고 안전한 코드를 작성할 수 있습니다. 1. Recordset의 개념과 동작 원리레코드셋(Recordset)은 동일한 Odoo 모델에서 가져온 레코드들의 집합 객체입니다. 조건에 일치하는 데이터가 0건, 1건, 혹은 수백 건이든 상관없이 ORM 메서드의 반환 결과는 언제나 일관된 레코드셋 타입으로 제공됩니다.파이썬의 기본 리스트(List)와 유사하게 반복 순회(Iteration)가 가능하지만, 모든 요소가 동일한 Odoo 모델의 ..

Odoo Model Inheritance 완벽 가이드: 3가지 모델 상속 방식과 실무 아키텍처

1. Odoo 상속의 기본 동작 원리 (How Inheritance Works)Odoo 상속 메커니즘은 기존 모델(Base Model)을 기반으로 커스텀 모듈에서 확장 모델(Extended Model)을 선언하여 기능을 병합하는 구조로 동작합니다.구분대상 모델 예시보유 필드 구성설명Base Modelsale.ordername, partner_id, amount_total, state 등Odoo 표준 원본 판매 주문 모델Inherited (확장)커스텀 모듈customer_reference, extra_note 등개발자가 추가 정의한 신규 커스텀 필드Result (결과)Extended sale.order원본 필드 + 추가 커스텀 필드 통합원본 코드를 건드리지 않고 최종 병합된 모델👉 [이전 글: Odoo ..

Odoo Views & XML 구조 완벽 가이드: 5가지 핵심 뷰와 UI 렌더링 원리

Odoo(오두) ERP 개발에서 뷰(View)는 백엔드 파이썬 모델에 정의된 데이터를 사용자 화면에 어떻게 시각화하고 배치할지 정의하는 핵심 XML 요소입니다. Odoo 프레임워크는 HTML을 직접 하드코딩하지 않고, ir.ui.view 모델 기반의 표준 XML 문법을 통해 일관된 웹 UI/UX를 자동으로 생성합니다.1. Odoo 화면 생성 아키텍처: Python Model에서 UI까지Odoo 시스템에서 데이터가 최종 사용자 브라우저에 렌더링되기까지는 3단계 파이프라인을 거칩니다. 단계계층 명칭주요 역할 및 기술적 설명①Python Model데이터베이스 스키마(필드)와 비즈니스 로직 및 제약조건을 파이썬 코드로 정의.②XML View모델의 필드를 화면 어디에 어떤 형태(입력창, 표, 카드 등)로 배치할지..

Odoo 개발의 시작: Model 정의와 Field 타입(기본·관계형) 완벽 가이드

Odoo(오두) ERP 커스텀 모듈 개발의 핵심은 비즈니스 요구사항에 맞춘 데이터베이스 테이블 및 스키마 구조를 설계하는 것입니다. Odoo 프레임워크는 PostgreSQL 테이블을 직접 DDL로 생성하지 않고, 파이썬 클래스 형태의 모델(Model)과 속성 정의인 필드(Field)를 통해 백엔드 스키마와 ORM을 자동으로 매핑합니다.1. Odoo 모델(Model)의 개념과 기본 아키텍처Odoo 모델은 데이터베이스 테이블 및 비즈니스 로직을 캡슐화한 파이썬 클래스 객체입니다. 모든 영속적 비즈니스 모델은 models.Model 클래스를 상속받아 고유한 시스템 식별자 _name을 정의함으로써 생성됩니다.Python# school_student.py - 학생 정보를 관리하는 기본 모델 예시from odoo ..

SQL 없이 데이터 다루는 Odoo ORM 기초: 실무 핵심 메서드 7가지 완벽 정리

Odoo 개발 및 커스터마이징을 시작할 때 가장 핵심이 되는 기술은 ORM(Object Relational Mapping)입니다. ORM을 활용하면 복잡한 PostgreSQL SQL 쿼리를 직접 작성하지 않고도 파이썬(Python) 객체 문법을 통해 데이터베이스를 직관적이고 안전하게 조작할 수 있습니다.1. Odoo ORM 동작 구조: Python과 PostgreSQL 사이의 통역사Odoo ORM은 파이썬 비즈니스 로직 코드와 백엔드 PostgreSQL 데이터베이스 사이에서 SQL 변환 통역사 역할을 담당하는 계층입니다. 개발자가 모델 기반 파이썬 코드를 실행하면 ORM이 이를 최적화된 SQL로 변환하여 실행하고, 결과를 파이썬 객체인 레코드셋(Recordset)으로 반환합니다.단계처리 계층주요 역할 및..