Przejdź do zawartości

Pole Obrazka w Odoo — Kompletny Przewodnik dla Użytkowników

Praktyczny przewodnik po polu Image w modelu danych Odoo — od podstawowego użycia, przez techniczne modyfikacje, aż po sprawdzone dobre praktyki
6 marca 2026 przez
Pole Obrazka w Odoo — Kompletny Przewodnik dla Użytkowników
Dasolo
| Brak komentarzy na ten moment

Wprowadzenie


Jeżeli kiedykolwiek wrzucałeś zdjęcie produktu, ustawiłeś logo firmy lub dodałeś zdjęcie profilowe pracownika w Odoo, miałeś styczność z polem Obraz. To jeden z najbardziej widocznych typów pól w modelu danych Odoo i pojawia się w miejscach, które nie zawsze są oczywiste na pierwszy rzut oka.


Dla zwykłych użytkowników pole działa intuicyjnie: kliknij, wybierz plik i obraz pojawia się na formularzu. Dla konsultantów i programistów jednak ważne jest, żeby wiedzieć, że za kulisami dzieje się więcej — pole Obraz ma swoje reguły przechowywania, mechanizmy skalowania i niuanse, które warto poznać zanim dodasz je do niestandardowego modelu.


W tym materiale wyjaśniamy, co dokładnie jest przechowywane w polu Obraz, jak pole współpracuje z resztą frameworka Odoo, jak je dodać przez Odoo Studio lub w kodzie Python oraz pokazujemy praktyczne scenariusze biznesowe.

Czym jest pole Obraz w Odoo


Pole Obraz to dedykowany typ pola w ORM Odoo, wprowadzony jako fields.Image od wersji 13. W starszych wydaniach osiągano podobny efekt, używając pola Binary z widgetem image. Dziś fields.Image samodzielnie obsługuje cykl życia obrazów — od zapisu po generowanie miniatur.


Technicznie pole przechowuje dane binarne zakodowane w base64. W praktyce treść obrazów trafia nie bezpośrednio do głównej tabeli rekordu, lecz do modelu załączników (ir.attachment) — dzięki temu tabele rekordów są lżejsze, a serwowanie obrazów odbywa się efektywniej przez URL-e załączników.


Wygląd w interfejsie

Na formularzu pole Obraz wyświetla się jako klikalny placeholder z podglądem. Użytkownik może przesłać plik z dysku (czasem wkleić URL), a miniatura pojawia się natychmiast na rekordzie, ułatwiając szybkie rozpoznanie elementu.


W widokach list i tabel miniatury rzadko się stosuje ze względu na wpływ na wydajność. Natomiast w widokach kanban obrazy są często wykorzystywane — karty z miniaturami pomagają szybko zidentyfikować produkty, kontrahentów czy zadania.


Typy pól Odoo: Obraz kontra Binary

Warto rozróżnić te dwa typy: Binary to pole uniwersalne, nadaje się do dowolnych plików (PDF, ZIP, arkusze), natomiast Obraz jest specjalnie zoptymalizowany do plików graficznych — waliduje typ pliku, automatycznie skaluje zapisywane obrazy i domyślnie współgra z widgetem image. Dla zdjęć i logotypów używaj Obraz, dla dokumentów — Binary.

Jak pole działa


Gdy użytkownik wgrywa plik do pola Obraz, Odoo nie przechowuje go w stanie surowym — najpierw przetwarza plik.


Automatyczne skalowanie

Deklaracja fields.Image pozwala ustawić parametry max_width i max_height. Jeśli przesłany obraz przekracza te wymiary, Odoo dopasuje rozmiar zachowując proporcje. Operacja odbywa się przy zapisie i jest niewidoczna dla użytkownika.

Domyślny limit dla standardowego pola Obraz to 1920 pikseli dla dłuższego boku. Stąd w standardowych modelach spotkasz nazwy typu image_1920 (np. product.template czy res.partner).


Warianty rozmiarów obrazów

W standardowych modelach Odoo często występuje zestaw powiązanych pól: image_1920, image_1024, image_512, image_256, image_128. To osobne pola Image, zwykle zdefiniowane jako pola related wskazujące na główny obraz, każde z innym ograniczeniem rozmiaru.


Taki wzorzec pozwala serwować odpowiedni rozmiar obrazu zależnie od kontekstu: lista produktów pobiera miniaturę 128 px, by przyspieszyć ładowanie, a strona szczegółów pobiera obraz 1920 px dla lepszej jakości. W customowych modelach użycie tej strategii zależy od tego, gdzie obraz będzie pokazywany.


Przechowywanie jako załączniki

Domyślnie pola Obraz zapisują treść jako załączniki w modelu ir.attachment. Rekord przechowuje referencję do załącznika zamiast przechowywać cały ciąg binarny w swojej tabeli.


To praktyczne rozwiązanie: utrzymuje tabele główne mniejsze i powoduje, że obrazy są dostępne pod przewidywalnymi adresami URL, np. /web/image/product.template/42/image_1920 — schemat, który stosuje się w stronach internetowych, szablonach e-mail i odpowiedziach API.


Kontrola dostępu

Dostęp do obrazów podlega tym samym regułom bezpieczeństwa co cały rekord. Użytkownik bez uprawnień do odczytu rekordu nie pobierze też obrazu — Odoo automatycznie egzekwuje uprawnienia, co ma znaczenie przy budowaniu publicznych stron lub portali klienta.

Przykłady zastosowań w firmie


Pole Obraz jest wykorzystywane w niemal każdym module Odoo. Poniżej najczęstsze zastosowania w praktyce.


1. Katalog produktów (Sprzedaż i Magazyn)

Zdjęcia produktów to najczęstsze zastosowanie. Każdy product.template ma pole image_1920 — obrazki pojawiają się w sklepie internetowym, na wydrukach zamówień, w POS i w aplikacjach mobilnych używanych przy kompletowaniu zamówień.

Firmy z dużymi katalogami zazwyczaj korzystają z API, by masowo wgrywać obrazy zamiast pojedynczego dodawania przez UI. Pole Obraz przyjmuje dane binarne w formacie base64, więc przesyłanie przez XML-RPC lub JSON-RPC jest proste do zautomatyzowania.


2. Logotypy klientów i dostawców (CRM i Zakupy)

Model res.partner zawiera pole Obraz wykorzystywane do zdjęć kontaktów i logotypów firm. Obraz pokazuje się w formularzu partnera, w obszarze chatter i na kartach kanban CRM. Widoczne logotypy ułatwiają działom sprzedaży szybkie rozpoznanie klientów.


3. Zdjęcia pracowników (HR)

Model hr.employee przechowuje zdjęcia pracowników. Pojawiają się one w katalogu pracowników, czasem na paskach płac i obok wiadomości w module Discuss. HR często importuje te zdjęcia hurtowo przy wdrożeniach.


4. Zdjęcia maszyn i wyposażenia (Maintenance)

W module Maintenance można dołączać zdjęcia do rekordów sprzętu. Technicy doceniają zdjęcie urządzenia na zleceniu, bo pozwala szybko upewnić się, którą maszynę mają naprawiać.


5. Formularze inspekcji i kontroli jakości

Firmy tworzą niestandardowe modele do kontroli jakości, inspekcji czy potwierdzeń dostaw. Dodanie pola Obraz pozwala pracownikom terenowym dołączać zdjęcie jako dowód bezpośrednio do rekordu — popularny i praktyczny scenariusz, łatwy do zrobienia zarówno w Studio, jak i w kodzie.

Tworzenie lub dostosowywanie pola


Są dwa główne sposoby dodania pola Obraz: bez kodu przez Odoo Studio albo przez programowanie w Pythonie, gdy potrzebujesz pełnej kontroli.


Korzystanie z Odoo Studio

Odoo Studio to narzędzie no-code do szybkich modyfikacji. Aby dodać pole Obraz, otwórz odpowiednią aplikację, aktywuj Studio i przejdź do formularza, na którym chcesz umieścić pole.


W panelu pól przeciągnij element Obraz na formularz. Studio poprosi o etykietę i automatycznie utworzy pole na modelu — to wygodna metoda dla użytkowników biznesowych i konsultantów funkcjonalnych bez konieczności angażowania programisty.

Pola tworzone przez Studio otrzymują prefiks x_studio_ w nazwie, np. x_studio_site_photo, i zachowują się jak natywne pola Obraz pod względem przechowywania i wyświetlania.


Korzystanie z Pythona (rozwój Odoo)

Dla dostosowań technicznych pola definiuje się bezpośrednio w pliku modelu Python. To daje pełną kontrolę nad parametrami pola i dodatkowymi wariantami.


Przykładowa definicja w Pythonie wygląda tak:

Parametry max_width i max_height nakazują Odoo ograniczyć przechowywany rozmiar do 1920 pikseli. Drugie pole photo_128 to pole related, które przechowuje pomniejszoną wersję do użycia np. w widokach kanban czy listach — to standardowy wzorzec w Odoo przy obsłudze kilku rozmiarów obrazu.


Dodanie pola do widoku

Po dodaniu pola do modelu trzeba je umieścić w widoku, żeby było widoczne. W XML formularza obraz pokazujemy przez widget image:

<field name="photo" widget="image" class="oe_avatar"/>

Klasa oe_avatar ustawia obraz jako okrągłe awatar w lewym górnym rogu formularza — typowy styl Odoo. Można też umieścić pole inline bez tej klasy w obrębie układu formularza.

Dobre praktyki


Rekomendacje, które warto przekazać klientom przy pracy z polami Obraz.


Ustal realistyczne limity rozmiaru

Domyślne 1920 px wystarcza w większości przypadków. Nie zwiększaj limitu bez ważnego powodu, np. kiedy potrzebujesz zdjęć do druku w bardzo wysokiej rozdzielczości. Większe pliki to większe załączniki, co wpływa na rozmiar bazy i czas ładowania stron.


Stwórz wariant miniatury do list i kanban

Jeśli obraz będzie pokazywany w listach lub kanban, dodaj powiązane pole z limitem 128 lub 256 px. Pobieranie miniatury 128 px jest znacznie szybsze niż ładowanie pełnego obrazu 1920 px dla każdej karty.


Używaj API do masowych uploadów

Przy wgrywaniu setek czy tysięcy obrazów nie rób tego ręcznie przez UI. Użyj XML-RPC/JSON-RPC i zapisz base64-encoded dane bezpośrednio do pola — to szybciej i można to zautomatyzować skryptem.


Kompresuj obrazy przed przesłaniem

Chociaż Odoo skaluje obrazy, nie zawsze mocno je kompresuje. JPEG 5 MB przeskalowany do 1920 px może nadal zajmować kilkaset KB. Wstępna kompresja zmniejszy rozmiary załączników, co jest istotne przy dużych katalogach.


Unikaj dużych obrazów w często zapytywanych widokach list

Wstawienie pola Obraz jako kolumny w liście zmusza Odoo do pobierania danych binarnych dla każdego wiersza — to może znacząco spowolnić listę. Jeśli potrzebujesz obrazu w liście, użyj małej miniatury, a pełny obraz zostaw na formularzu.


Typowe pułapki


Najczęstsze błędy, które obserwujemy, gdy zespoły zaczynają pracować z polami Obraz.


Mylą Binary z Obrazem

Pole Binary bez widgetu image zadziała jako przycisk pobierania zamiast podglądu. Aby uzyskać wizualny podgląd, użyj fields.Image lub Binary z widget="image" w widoku. Zapomnienie o tym jest częstą przyczyną nieporozumień, zwłaszcza w starszych wersjach Odoo.


Brak planowania wariantów rozmiarów wystarczająco wcześnie

Dodanie jednego dużego pola Obraz jest proste, ale jeśli potem okaże się, że potrzebujesz mniejszych wersji do kanbanu czy strony WWW, dodanie ich później w module wymaga migracji bazy. Zaplanuj warianty rozmiarów z wyprzedzeniem.


Przechowywanie obrazów bezpośrednio w tabeli zamiast jako załączników

W bardzo starych lub źle skonfigurowanych instancjach dane binarne mogły być trzymane bezpośrednio w kolumnach rekordów, co znacząco zwiększało rozmiar głównych tabel i spowalniało zapytania. Upewnij się, że Odoo korzysta ze storage file lub kompatybilnego S3 dla załączników.


Wykorzystywanie pól Obraz jako magazynu dokumentów

Niektórzy próbują trzymać skany wielostronicowe lub zrzuty ekranu w polach Obraz. Choć technicznie możliwe, nie jest to odpowiednie miejsce — do zarządzania dokumentami użyj modułu Documents lub pola Binary z widgetem pobierania. Pola Obraz służą do zdjęć i logotypów.


Zapominanie o zasadach dostępu na stronach publicznych

Jeśli wyświetlasz URL obrazu na stronie publicznej, a rekord nie jest dostępny publicznie, obraz zwróci 404. Przy budowie stron WWW i portali sprawdź, czy URL obrazu jest dostępny dla oczekiwanej grupy użytkowników.

Podsumowanie


Pole Obraz na pierwszy rzut oka wydaje się proste, ale ma wystarczająco dużo szczegółów, by zaskoczyć zespoły bez przygotowania. Zrozumienie skalowania, sposobu przechowywania jako załączników i wzorca multi-wariantów znacząco ułatwi projektowanie modeli z danymi wizualnymi.


Dla użytkowników biznesowych istotne jest, że obrazy są bezpiecznie powiązane z rekordem i dostępne pod przewidywalnymi URL-ami. Dla developerów warto opanować kombinację fields.Image z powiązanymi polami miniatur — to standard Odoo, który warto znać od początku pracy z platformą.


Niezależnie od tego, czy dodajesz zdjęcie produktu do katalogu, załączasz zdjęcie inspekcji do modelu czy tworzysz portal klienta wyświetlający logotypy, pole Obraz daje spójny i wbudowany sposób pracy z danymi wizualnymi w modelu Odoo.

Potrzebujesz wsparcia przy wdrożeniu Odoo?


W Dasolo pomagamy firmom wdrażać, dostosowywać i optymalizować Odoo we wszystkich modułach i wersjach. Czy chodzi o konfigurację pól w standardowych modelach, budowę modułów na zamówienie, czy migrację danych z systemów legacy — współpracujemy z Twoim zespołem, żeby Odoo działało tak, jak działa Twój biznes.

Jeżeli masz pytania dotyczące swojej instalacji Odoo lub chcesz sprawdzić, co jest możliwe na platformie, skontaktuj się z nami. Chętnie pomożemy.

Pole Obrazka w Odoo — Kompletny Przewodnik dla Użytkowników
Dasolo 6 marca 2026
Udostępnij ten artykuł
Zaloguj się by zostawić komentarz