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 25 autres modules. Il expose 40 champs, dont 34 déclarés directement sur le modèle ; 28 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
res.groups- Libellé
- Groupes d'accès
- Type
- Persistant (models.Model)
- Table SQL
res_groups- Module d'origine
- Base (
base) - Étendu par
- bus, mail, uom, product, analytic, account, auth_timeout, crm, im_livechat, sale, project, hr_attendance, hr_holidays, hr_recruitment, website, website_slides, point_of_sale, lunch, mass_mailing, stock, mrp, stock_account, purchase, product_expiry, website_sale
- 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
34 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.
40 champs affichés sur 40
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| access_count | Access Count | integer | calculé |
| access_ids | Access Rules | one2many | inverse : |
| 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 | Notes | text | traduisible |
| disjoint_ids | Groupes disjoints Users in the current group cannot be added in disjoint groups. For example, a user cannot be in the "Internal" and "Portal" groups at the same time. | 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 Auth Timeout ( |
| 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 Auth Timeout ( |
| implied_by_count | Implied By Count | integer | calculé |
| implied_by_ids | Impliquer des groupes Users in implying groups are implicitly part of the current group | many2many | |
| implied_count | Implied Count | integer | calculé |
| implied_ids | Groupes implicites Users in the current group are implicitly part of the implied groups | 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 Auth Timeout ( |
| lock_timeout_2fa_selection | Sélection du délai de verrouillage 2FA | selection | calculé Valeurs : ajouté par Auth Timeout ( |
| lock_timeout_delay_in_unit | Délai de verrouillage en unité | integer | calculé ajouté par Auth Timeout ( |
| lock_timeout_delay_unit | Unité du délai de verrouillage | selection | calculé Valeurs : ajouté par Auth Timeout ( |
| lock_timeout_inactivity | Délai d’inactivité Temps (en minutes) d’inactivité après lequel une réauthentification est requise. | integer | ajouté par Auth Timeout ( |
| lock_timeout_inactivity_2fa_selection | Sélection du délai de verrouillage en cas d’inactivité 2FA | selection | calculé Valeurs : ajouté par Auth Timeout ( |
| lock_timeout_inactivity_delay_in_unit | Délai de verrouillage en cas d’inactivité en unité | integer | calculé ajouté par Auth Timeout ( |
| lock_timeout_inactivity_delay_unit | Unité du délai de verrouillage en cas d’inactivité | selection | calculé Valeurs : ajouté par Auth Timeout ( |
| 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 Auth Timeout ( |
| 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 Auth Timeout ( |
| menu_access | Menu d'accès | many2many | |
| name | Nom | char | requistraduisible |
| privilege_id | Portée | many2one | |
| sequence | Séquence | integer | |
| share | Partager le groupe Indicates that the group is used external data sharing prupose (e.g., portal access to specific records) | 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.access : access_ids
- 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.access : 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.fields : 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 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/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 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.