← Blog / Odoo & ERP

oo_library, développement du module de consultation - mise en place du modèle

Apprenez à développer le module de consultation des livres dans Odoo, incluant l'implémentation des modèles pour enregis

par nasser

Bonjour ! Aujourd'hui, nous allons continuer notre apprentissage avec la mise en place du module de consultation des livres et notamment avec l'implémentation des modèles. Ce module vous permettra d'enregistrer et de visualiser l'ensemble des livres et l'ensemble de leurs caractéristiques : titre, auteur, genre, éditeur, collection, résumé, code ISBN.

Dans l'article précédent, je vous expliquais les fonctionnalités du module que nous sommes en train de développer.

Commençons par une brève modélisation du module

Grâce aux applications Dia et draw.io, j'ai conçu les diagrammes suivants qui nous permettront de développer notre module.

| Diagramme des cas d'utilisation | | Diagramme des cas d'utilisation |

Ce diagramme montre que l'utilisateur (ici le bibliothécaire) pourra enregistrer, consulter et rechercher des livres.

| Diagramme des classes | | Diagramme des classes |

Le module que nous allons mettre en place dans cette partie prendra en compte les tables suivantes :

Passons maintenant au code source qui implémentera ce modèle

Dans le dossier models, vous allez écrire le code suivant :

Fichier oo_collection.py

### coding: utf-8

from odoo import fields, models

class OoCollection(models.Model):
    _name = 'oo.collection'
    _rec_name = 'name'

    name = fields.Char(string="Nom")

Fichier oo_genre.py

### coding: utf-8

from odoo import fields, models

class OoGenre(models.Model):
    _name = 'oo.genre'
    _rec_name = 'name'

    name = fields.Char(string="Nom")

Fichier oo_consultation.py

### coding: utf-8

from odoo import fields, models

class OoConsultation(models.Model):
    _name = 'oo.consultation'
    _rec_name = 'titre'

    titre = fields.Char()
    auteur_id = fields.Many2one(
        comodel_name='res.users',
        string='Auteur'
    )
    genre_id = fields.Many2one(
        comodel_name='oo.genre',
        string='Genre'
    )
    editeur_id = fields.Many2one(
        comodel_name='res.partner',
        string='Éditeur'
    )
    collection_id = fields.Many2one(
        comodel_name='oo.collection',
        string='Collection'
    )
    resume = fields.Text(string="Résumé")
    code_isbn = fields.Char(string='Code ISBN')

Fichier init.py

from . import oo_collection
from . import oo_consultation
from . import oo_genre

Notes importantes

  1. L'écriture du code # coding: utf-8 permet de prendre en compte les accents dans le code source.
  2. _rec_name = 'titre' affichera le titre du livre lorsque la page correspondante à ce livre sera ouverte.
  3. Tous les fichiers Python devront être importés dans __init__.py.

Pour vérifier que votre code a été implémenté :

  1. Redémarrez votre instance.
  2. Activez le mode développeur.
  3. Lancez Odoo sur votre navigateur.
  4. Allez sur Configuration - Techniques - Structure de la base de données - Modèles.
  5. Vous pouvez maintenant rechercher vos tables.

Je m'arrête ici pour aujourd'hui. Prenez tout votre temps pour assimiler cette partie et n'hésitez pas à me poser vos questions en commentaires.

Sur ce, à plus !

Restez scotchés pour recevoir tous les prochains articles

Des cas concrets en video Rejoindre la chaîne YouTube pour aller plus loin →
Une question ou preoccupation ? Discutons-en ici →