Accéder au contenu principal

Comment joindre un fichier sur Odoo?

Pour joindre un fichier sur Odoo à partir de la vue form, il suffit d'utiliser le champs fields.Binary pour sauvegarder le fichier en question et le champs fields.Char pour enregistrer le nom du fichier. Ensuite, vous pourrez les insérer dans votre vue form.

Voici un exemple illustratif

Dans le modèle Python

from odoo import fields, models


class ExempleFichier(models.Model):
    
    _name = 'exemple.fichier'
    
    fichier = fields.Binary(string=_("Joindre votre fichier"), track_visibility="onchange")
    nom_fichier = fields.Char(string=_("Nom du fichier"), track_visibility="onchange")


Côté XML

<field name="fichier" filename="nom_fichier" widget="download_link" />
<field name="nom_fichier" invisible="1"/>

Commentaires

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é.