res.groups : champs, relations et API
Le modèle res.groups (« Groupes d'accès ») est un modèle persistant déclaré par le module Base, puis enrichi par 6 autres modules. Il expose 38 champs, dont 32 déclarés directement sur le modèle ; 29 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 19.
Fiche d'identité
- Nom technique
res.groups- Libellé
- Groupes d'accès
- Type
- Persistant (models.Model)
- Table SQL
res_groups- Module d'origine
- Base (
base) - Étendu par
- bus, mail, account, auth_timeout, im_livechat, website_slides
- Tri par défaut (_order)
privilege_id, sequence, name, id- Champ d'affichage (_rec_name)
full_name- Hérite de (mixins)
- bus.listener.mixin
Champs du modèle
32 champs propres, 0 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
38 champs affichés sur 38
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| all_implied_by_ids | Groupes impliquant de manière transitive | many2many | calculé |
| all_implied_ids | Groupes hérités de manière transitive Le groupe lui-même avec tous ses groupes implicites. | many2many | calculé |
| all_user_ids | Utilisateurs et utilisateurs implicites | many2many | calculé |
| all_users_count | # Utilisateurs Nombre d’utilisateurs ayant ce groupe (implicitement ou explicitement) | integer | calculé |
| api_key_duration | Durée maximale en jours des clés API Détermine la durée maximale d'une clé api créée par un utilisateur appartenant à ce groupe. | float | |
| comment | Commentaire | text | traduisible |
| disjoint_ids | Groupes disjoints A user may not belong to this group and one of those. For instance, users may not be portal users and internal users. | many2many | calculé |
| full_name | Nom du groupe | char | calculé |
| has_lock_timeout | A un délai de verrouillage Nécessite une réauthentification après la dernière connexion de l’utilisateur | boolean | calculé ajouté par Expiration de l’authentification ( |
| has_lock_timeout_inactivity | A un délai de verrouillage en cas d’inactivité Nécessite une réauthentification après une période d’inactivité de l’utilisateur | boolean | calculé ajouté par Expiration de l’authentification ( |
| implied_by_ids | Impliquer des groupes Les utilisateurs de ces groupes font implicitement partie de ce groupe. | many2many | |
| implied_ids | Groupes implicites Les utilisateurs de ce groupe font également partie de ces groupes de manière implicite | many2many | |
| lock_timeout | Expiration de la session Intervalle de temps (en minutes) après lequel une réauthentification est requise, indépendamment de l’inactivité. | integer | ajouté par Expiration de l’authentification ( |
| lock_timeout_2fa_selection | Sélection du délai de verrouillage 2FA | selection | calculé Valeurs : ajouté par Expiration de l’authentification ( |
| lock_timeout_delay_in_unit | Délai de verrouillage en unité | integer | calculé ajouté par Expiration de l’authentification ( |
| lock_timeout_delay_unit | Unité du délai de verrouillage | selection | calculé Valeurs : ajouté par Expiration de l’authentification ( |
| lock_timeout_inactivity | Délai d’inactivité Temps (en minutes) d’inactivité après lequel une réauthentification est requise. | integer | ajouté par Expiration de l’authentification ( |
| lock_timeout_inactivity_2fa_selection | Sélection du délai de verrouillage en cas d’inactivité 2FA | selection | calculé Valeurs : ajouté par Expiration de l’authentification ( |
| lock_timeout_inactivity_delay_in_unit | Délai de verrouillage en cas d’inactivité en unité | integer | calculé ajouté par Expiration de l’authentification ( |
| lock_timeout_inactivity_delay_unit | Unité du délai de verrouillage en cas d’inactivité | selection | calculé Valeurs : ajouté par Expiration de l’authentification ( |
| lock_timeout_inactivity_mfa | Exiger une authentification multifacteur lorsque le délai d’inactivité est atteint Activer l’authentification à deux facteurs lorsque la session a expiré par inactivité. | boolean | ajouté par Expiration de l’authentification ( |
| lock_timeout_mfa | Exiger une authentification multifacteur lorsque la session a expiré Activer l’authentification à deux facteurs lorsque la session a expiré. | boolean | ajouté par Expiration de l’authentification ( |
| menu_access | Menu d'accès | many2many | |
| model_access | Contrôles d'accès | one2many | inverse : |
| name | Nom | char | requistraduisible |
| privilege_id | Droit | many2one | |
| rule_groups | Règles | many2many→ ir.rule | |
| sequence | Séquence | integer | |
| share | Partager le groupe Groupe créé pour définir les droits d'accès pour le partage des données avec les autres utilisateurs. | boolean | |
| user_ids | Utilisateur Utilisateurs explicitement dans ce groupe | many2many | |
| view_access | Vues | many2many | |
| view_group_hierarchy | Champ technique pour paramètre de groupe par défaut | json | calculé |
| 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
- ir.model.access : model_access
- ir.rule : rule_groups
- ir.ui.menu : menu_access
- ir.ui.view : view_access
- res.groups : all_implied_by_ids, all_implied_ids, disjoint_ids, implied_by_ids, implied_ids
- res.groups.privilege : privilege_id
- res.users : all_user_ids, user_ids
Champs d'autres modèles qui pointent ici
- digest.tip : group_id
- discuss.channel : group_ids, group_public_id
- forum.forum : authorized_group_id
- ir.actions.act_window : group_ids
- ir.actions.report : group_ids
- ir.actions.server : group_ids
- ir.embedded.actions : groups_ids
- ir.model.access : group_id
- ir.model.fields : groups
- ir.rule : groups
- ir.ui.menu : group_ids
- ir.ui.view : group_ids
- mail.canned.response : group_ids
- mail.group : access_group_id
- pos.config : group_pos_manager_id, group_pos_user_id
- res.groups : all_implied_by_ids, all_implied_ids, disjoint_ids, implied_by_ids, implied_ids
- res.users : all_group_ids, group_ids
- slide.channel : enroll_group_ids, upload_group_ids
- spreadsheet.dashboard : group_ids
- website.menu : group_ids
- website.page.properties : group_ids
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : 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/res.groups/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["full_name","name","privilege_id","api_key_duration","comment"],"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}/res.groups/search_read",
headers=headers,
json={"domain": [], "fields": ["full_name","name","privilege_id","api_key_duration","comment"], "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/res-groups">res.groups (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.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.