Panneau DevTools
La plupart des opérations disponibles dans ce panneau (Création, Modification, Suppression, Appel de méthode) écrivent directement dans la base de données et sont irréversibles. Seule l'opération de Recherche est sans danger car elle est en lecture seule.
- Ne jamais exécuter des opérations d'écriture ou de suppression sur une base de production sans en être certain.
- En cas de doute, testez toujours sur une base de données de test au préalable.
Le panneau DevTools est une interface complète de test RPC intégrée directement dans les outils de développement de votre navigateur. Il vous permet d'interroger, créer, modifier, supprimer des enregistrements et d'appeler des méthodes sur n'importe quel modèle Odoo sans quitter votre navigateur.
Ouvrir le panneau
- Ouvrez les DevTools de votre navigateur (F12 ou Ctrl+Shift+I / Cmd+Option+I sur macOS).
- Repérez l'onglet Odoo Toolbox dans la barre d'onglets des DevTools.
- Cliquez dessus - le panneau s'ouvre et se connecte automatiquement à la page Odoo courante.
Si un message d'erreur apparait, assurez-vous d'être sur une page Odoo. Et connecté au backend (pas sur le website).

L'interface
Le panneau est divisé en deux zones principales :
- Gauche / haut - Constructeur de requête : c'est ici que vous configurez le modèle, l'opération, le domaine, les champs et le payload.
- Droite / bas - Visionneuse de réponse : c'est ici que la réponse JSON s'affiche après exécution.

Barre latérale
Cette barre latérale à gauche contient les champs de saisie pour construire votre requête. Les champs affichés changent en fonction de l'opération sélectionnée (Recherche, Création, Modification, Suppression, Appel de méthode). Tous les champs possibles sont affichés dans l'onglet Search, les autres opérations n'affichent que les champs pertinents.
Même dans un onglet différent de celui de la recherche, vous pouvez remplir cette barre latérale avec les critères disponibles pour ensuite exécuter une nouvelle recherche. Si vous voulez, par exemple, changer les enregistrements sur lesquels vont s'appliquer vos actions.
Modèle
Le champ Model attend le nom technique du modèle (ex. res.partner, sale.order, etc.). Il dispose d'une auto-complétion pour vous aider à trouver le bon modèle.
IDs
Le champ Record IDs attend un tableau JSON d'IDs d'enregistrements (ex. [1, 2, 3]) ou une liste séparée par des virgules (ex. 1,2,3). Il est utilisé pour cibler des enregistrements spécifiques dans les opérations de modification, suppression ou appel de méthode.
Sélection de champs
Le champ Fields dispose d'une recherche et d'une liste de champs disponibles pour le modèle. Limiter les champs récupérés rend la réponse plus lisible et l'appel plus rapide.
Laissez le champ vide pour retourner tous les champs du modèle.
Filtres de domaine
Les domaines suivent la syntaxe de domaine Odoo standard : un tableau JSON de conditions combinées avec les opérateurs préfixes & (ET, par défaut) et | (OU).
[["state", "=", "done"], ["partner_id.country_id.code", "=", "US"]]
Le panneau valide le domaine en JSON en temps réel et signale les erreurs de syntaxe avant même que vous n'exécutiez la requête.
Utilisez un tableau vide [] pour correspondre à tous les enregistrements (équivalent à aucun filtre).
Tri et pagination
Le champ Order By permet de spécifier le tri des résultats (ex. name ASC ou create_date DESC). Il dispose d'une recherche et d'une liste de champs disponibles pour le modèle.
Le champ Limit permet de limiter le nombre d'enregistrements retournés, et le champ Offset permet de sauter un nombre d'enregistrements (pour la pagination).
Bouton d'exécution
Une fois que vous avez configuré votre requête, cliquez sur le bouton Execute Query pour l'exécuter. La réponse s'affiche alors dans la zone de droite.
Bouton Get Current
Le bouton Get Current pré-remplit les champs de la barre latérale avec les valeurs correspondant à la vue Odoo courante. Par exemple, si vous êtes sur la fiche d'un partenaire, il remplira le champ Model avec res.partner et le champ Record IDs avec l'ID du partenaire affiché. Si vous avez sélectionné plusieurs enregistrements dans une vue liste, il remplira le champ Record IDs avec les IDs de ces enregistrements.
Visionneuse de réponse
Après l'exécution d'un appel, le(s) record(s) répondant aux critères définis s'affiche(nt) dans la zone de réponse.
- Un bouton Copy permet de copier la réponse complète dans le presse-papiers, Download permet de la télécharger au format JSON.
- Les erreurs retournées par Odoo (ex. droits d'accès, champs manquants) sont affichées avec leur message et leur traceback.
Options d'affichage
La réponse s'affiche par défaut sous vue liste. Dans l'onglet Search, vous pouvez aussi basculer vers la vue tableau via le bouton situé en haut à droite.
Boutons d'action sur les enregistrements
Dans la vue liste, chaque enregistrement dispose de boutons d'action rapide pour focus l'enregistrement, l'ouvrir dans Odoo ou l'ouvrir dans Odoo mais sous la forme d'une Popup.
| Icone | Action |
|---|---|
| Focalise l'enregistrement dans le DevTools. Utile pour pouvoir utiliser celui-ci comme point de départ pour faire d'autres opérations (modification, suppression, appel de méthode) sur cet enregistrement. | |
| Ouvre l'enregistrement dans Odoo (remplace le contenu de la fenêtre parente) | |
| Ouvre l'enregistrement dans une popup Odoo. Utile pour consulter rapidement les détails d'un enregistrement sans perdre le contexte de votre travail de la fenêtre parente. |
Opérations
Utilisez le menu supérieur pour choisir ce que vous souhaitez faire. Chaque opération n'affiche que les champs de saisie qui lui sont pertinents.
Recherche
L'opération la plus courante et celle par défaut. Retourne une liste d'enregistrements correspondant aux critères donnés (domaine, modèle...)
Model · Record IDs · Fields · Domain · Order By · Limit · Offset · Context

Modification
Modifie les enregistrements existants correspondant aux critères donnés.
Cette opération modifie les enregistrements existants dans la base de données. Assurez-vous que les IDs que vous fournissez correspondent bien aux enregistrements que vous souhaitez modifier, et que les valeurs sont correctes. Si vous n'êtes pas certain, testez d'abord sur une base de test.
Model · Record IDs · Domain · Context

Création
Crée un enregistrement avec les valeurs données et l'affiche une fois créé.
Cette opération crée de nouveaux enregistrements dans la base de données. Assurez-vous que les valeurs que vous fournissez sont correctes et que vous êtes sur une base de test si vous n'êtes pas certain.
Model · Context

Appel de méthode
Appelle n'importe quelle méthode publique sur un modèle. Utile pour déclencher de la logique métier, des wizards ou des méthodes personnalisées.
Model · Record IDs · Domain · Context

Suppression et archivage
(Dés)archive ou supprime les enregistrements correspondants.
Cette opération modifie ou supprime les enregistrements existants dans la base de données. Assurez-vous que les IDs que vous fournissez correspondent bien aux enregistrements que vous souhaitez modifier ou supprimer. Si vous n'êtes pas certain, testez d'abord sur une base de test.
Model · Record IDs · Domain · Context

Historique des requêtes
Le panneau garde un historique de vos requêtes récentes (dans la limite des 150), accessible via l'onglet History dans le menu supérieur. Vous pouvez y retrouver les détails de chaque requête (modèle, domaine, payload, réponse) et les réexécuter ou les copier facilement.
