product.public.category : champs, relations et API
Le modèle product.public.category (« Catégorie de produits du site web ») est un modèle persistant déclaré par le module eCommerce. Il expose 32 champs, dont 13 déclarés directement sur le modèle ; 8 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.
Fiche d'identité
- Nom technique
product.public.category- Libellé
- Catégorie de produits du site web
- Type
- Persistant (models.Model)
- Table SQL
product_public_category- Module d'origine
- eCommerce (
website_sale) - Tri par défaut (_order)
sequence, name, id- Hérite de (mixins)
- website.seo.metadata
website.published.multi.mixinwebsite.located.mixinwebsite.searchable.mixinimage.mixin
Champs du modèle
13 champs propres, 13 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
32 champs affichés sur 32
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| child_id | Catégories enfants | one2many | inverse : |
| cover_image | Image de couverture Affiché uniquement dans le snippet Liste des catégories. | image | |
| has_published_products | A des produits publiés | boolean | calculé |
| is_published | Est publié | boolean | calculé |
| name | Nom | char | requistraduisible |
| not_in_shop | Pas en magasin Si coché, la catégorie ne sera pas affichée sur la page principale du catalogue | boolean | calculé, stocké |
| parent_id | Parent | many2one | |
| parent_path | Chemin parent | char | |
| parents_and_self | Parents et vous | many2many | calculé |
| product_tmpl_ids | Modèle de produit | many2many | |
| sequence | Séquence | integer | |
| website_description | Description | html | |
| website_footer | Pied de page de la catégorie | html | |
| image_1024 | Image 1024 | image | related : hérité de image.mixin |
| image_128 | Image 128 | image | related : hérité de image.mixin |
| image_1920 | Image | image | hérité de image.mixin |
| image_256 | Image 256 | image | related : hérité de image.mixin |
| image_512 | Image 512 | image | related : hérité de image.mixin |
| is_seo_optimized | SEO optimisé | boolean | calculé, stocké hérité de website.seo.metadata |
| seo_name | SEO nom | char | traduisible hérité de website.seo.metadata |
| website_absolute_url | URL absolue du site web L'URL absolue complète pour accéder au document via le site web. | char | calculé hérité de website.located.mixin |
| website_meta_description | Méta-description du site web | text | traduisible hérité de website.seo.metadata |
| website_meta_keywords | Méta mots-clés site web | char | traduisible hérité de website.seo.metadata |
| website_meta_og_img | Image opengraph site web | char | hérité de website.seo.metadata |
| website_meta_title | Méta titre site web | char | traduisible hérité de website.seo.metadata |
| website_url | URL de site web L'URL relative complète pour accéder au document via le site web. | char | calculé hérité de website.located.mixin |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- product.public.category : child_id, parent_id, parents_and_self
- product.template : product_tmpl_ids
Champs d'autres modèles qui pointent ici
- product.feed : product_category_ids
- product.public.category : parent_id, parents_and_self
- product.template : public_categ_ids
- res.config.settings : prevent_sale_for_categories
- sale.report : public_categ_ids
- website : extra_step_category_ids, prevent_sale_for_categories
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/product.public.category/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","parent_id","not_in_shop","parent_path","sequence"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/product.public.category/search_read",
headers=headers,
json={"domain": [], "fields": ["name","parent_id","not_in_shop","parent_path","sequence"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/product-public-category">product.public.category (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.