Accéder au contenu principal

Installer un module, comprendre les modèles Odoo et activer le mode développeur

Hello! Aujourd'hui, nous allons parler de quelques aspects techniques d'Odoo qu'il est important de connaitre: il s'agit de l'installation des modules, les modèles Odoo et l'activation du mode développeur.



L'installation des modules


L'installation d'un module Odoo doit être prise au sérieux, car il ne suffit pas tout simplement de cliquer sur le bouton << Installer >>. Pour que cette installation soit optimale et que le module installé ne pose pas de problèmes plus tard, un ensemble de règles liés au fichier __manifest__.py ou __openerp__.py (pour  ceux qui sont sur les versions 8 et 9) doit être respecté.


  1. Le __manifest__ doit être très bien renseigné, il devra être cohérent et présenter toutes les informations nécessaires. Ici je vous présente un exemple de __manifest__
  2. Dans le __manifest__, il faut absolument éviter les dépendances inutiles. Si vous n'utiliser pas un module, ne le mettez pas en dépendance. 
  3. Il faut aussi éviter ce que j'appellerai << les boucles de dépendances >>. Ainsi, il faut éviter de faire hériter le module A du module B, puis faire hériter le module B du module A. D'autres parts, si je considère une instance où j'ai des modules qui dépendent tous des modules qui permettent de personnaliser l'apparence de celle ci (par exemple web, web_debranding, web_material_custom), il serait préférable de créer un  module web_template qui dépendra des modules web, web_debranding et web_material_custom.
  4. Il est important de savoir qu'avec Odoo, il est possible d'installer, de mettre à jour ou de désinstaller un module à partir de la ligne de commande. Je vous propose ici une commande qui met à jour un module_A. odoo.py -r odoo -w odoo -d my_odoo_db -u module_A. Ici, -r réprésente le nom de l'utilisateur, -w son mot de passe, -d la base de données sur laquelle est installé le module_A, -u pour update le module (mettre à jour). Pour en savoir plus sur les commandes odoo, cliquez-ici et .


La compréhension des modèles Odoo


L'ORM d'Odoo présente une cartographie relationnelle des objets parmis lesquelles:

  • Une structure hiérarchique
  • La cohérence et la validation des contraintes
  • Le traitement optimisé par requête complexe (plusieurs actions à la fois)
  • Les valeurs de champ par défaut
  • Des types de champs variés:
    • classique (varchar, entier, booléen, ...)
    • relationnel (one2many, many2one, many2many)
    • fonctionnel (champs calculés, onchange)


Odoo propose trois mécanismes différents pour étendre les modèles de manière modulaire: créer un nouveau modèle à partir d'un modèle existant, ajouter de nouvelles informations à la copie tout en laissant le module d'origine tel quel, étendre les modèles définis dans d'autres modules sur place, remplaçant la version précédente.

Il est également important de notre ceci:

  1. le modèle openerp.models.Model permet d'instancier la classe sur la base de données lorsque le module de la classe est installé
  2. openerp.models.TransientModel permet d'afficher les fenêtre modales (wizard)
  3. openerp.models.AbstractModel est un modèle abstrait qui permet la création d'une classe abstraite destinés à être hérité par les modèles classiques (Model et TransientModel). Il est très utilisé dans l'édition des rapports (report)


Activation du mode développeur


Sur cette partie, j'ai tout simplement envie de partager avec vous une extension (chrome et firefox)
qui permet d'activer le mode développeur d'Odoo en un clic. Il s'agit de l'extension Odoo debug que vous pouvez retrouver sur Chrome webstore et Firefox addons.

Maintenant j'ai du Python à coder!
Donc, tout en espérant de vous avoir aidé je vous dit A+

Commentaires

Publier un commentaire

Posts les plus consultés de ce blog

Apprendre python: par où commencer?

Je reçois beaucoup de messages de la part de jeunes gens qui veulent débuter en programmation. Ils sont tous intéressés par le langage Python et voudraient savoir par où commencer . Si t'es l'un d'eux, je te dis dans cet article par où commencer, le minimum qu'il faut savoir et ce qui t'attends, le tout basé sur ma modeste expérience. Alors, qu'est ce qu'il faut savoir concrètement avant de commencer? Je ne vais pas te dire que Python a été créé par Guido en 1991, bla bla bla bla. Ces infos, tout le monde en parle et tu peux les retrouver toutes sur cette page Wikipedia . T'as certainement entendu quelqu'un te dire que Python est un langage hyper facile, mais je te dis que c'est faux! Certes il est très facile à prendre en main et formidable pour apprendre les bases de la programmation. Mais lorsqu'il s'agit d'implémenter de vrais projets, il faut tout un tas de connaissances précises par exemple sur les  collections , itertools , thr

Tkinter: comment ouvrir une fenêtre et masquer l'autre?

Si vous vous demander comment on peut faire pour ouvrir une fenêtre sur Tkinter et masquer l'autre fenêtre sachant qu'il y'a 2 fenêtres, ce post est pour vous!  Le principe est simple: Vous créez 2 widgets (Demo1 et Demo2) Ensuite vous initialiser Demo1 et lorsque vous voulez afficher Demo2, détruisez tout simplement Demo1 puis créez une nouvelle instance de Tkinter qui va charger Demo2! Ci-dessous le code Python2.7. import Tkinter as tk class Demo1:     def __init__(self, master):         self.master = master         self.frame = tk.Frame(self.master)         self.HelloButton = tk.Button(self.frame, text = 'Salut!', width = 25, command = self.new_window,)         self.HelloButton.pack()         self.frame.pack()              def close_windows(self):         self.master.destroy()         self.new_window              def new_window(self):         self.master.destroy() # Fermer la fenetre courante         self.maste

Présentation d'un module Odoo de gestion de bibliothèque: comment développer un tel module?

Hello! Aujourd'hui nous allons continuer notre apprentissage d'Odoo en passant par la phase pratique. Nous allons ensemble développer un module de gestion de bibliothèque et donc le code source sera disponible sur un serveur Git. Le module que nous mettrons en place fera intervenir les modules de gestion de stocks, achats et ventes . Nous implémenterons entre autres des modèles et vues personnalisés, des rapports et des workflows . Bref, ce module vous donnera toutes les techniques et méthodes dont vous aurez besoin pour devenir un développeur Odoo chevronné.