Zum Inhalt springen

Das Projektmodell: Odoos Projektarchitektur Verstehen

Ein vollständiger Leitfaden zum Projektmodell von Odoo für Entwickler und funktionale Berater
11. März 2026 durch
Das Projektmodell: Odoos Projektarchitektur Verstehen
Dasolo
| Noch keine Kommentare

Einführung


In Odoo definieren Modelle, wie Daten strukturiert und in der Datenbank gespeichert werden. Jedes Stück Geschäftsdaten, mit dem Sie arbeiten, von Verkaufsaufträgen über Projekte bis hin zu Aufgaben, lebt in einem Modell.


Das Verständnis von Odoo-Modellen ist sowohl für Entwickler als auch für funktionale Berater unerlässlich. Modelle sind die Grundlage der Odoo-Datenarchitektur. Sie definieren Odoo-Felder, Beziehungen und Geschäftslogik. Jedes Modell in Odoo folgt denselben Mustern.


Dieser Artikel konzentriert sich auf eines der wichtigsten Modelle in Odoo: project.project. Egal, ob Sie benutzerdefinierte Module erstellen, externe Systeme integrieren oder Projektabläufe konfigurieren, Sie werden mit diesem Modell arbeiten.

Was ist das project.project Modell


Das project.project-Modell repräsentiert ein Projekt in Odoo. Es ist der Container für Aufgaben, Meilensteine und Teamzusammenarbeit. Jedes Projekt ist ein Datensatz in diesem Modell.


Dieses Modell in Odoo wird von der Projekt-App verwendet. Wenn Sie ein Projekt in Odoo erstellen, erstellen Sie einen project.project-Datensatz. Aufgaben sind über das Feld task_ids mit diesem Projekt verknüpft. Das Projekt definiert die Workflow-Stufen, Teammitglieder und Sichtbarkeitsregeln.


Das Modell ist im Projektmodul definiert. Andere Module erweitern es durch die Odoo-Modellerbschaft. Der Verkauf fügt projektbasierte Abrechnung hinzu. Die Zeiterfassung fügt die Zeitverfolgung hinzu. Die Projektplanung fügt Gantt-Planung hinzu. Jedes Modul fügt hinzu, was es benötigt, ohne die Kernstruktur zu duplizieren.


Das Verständnis der Beziehung zwischen project.project und project.task ist entscheidend. Das Projekt hält gemeinsame Einstellungen. Die Aufgabe hält individuelle Arbeitselemente. Beide sind zentral für den Odoo-Projektmanagement-Workflow.

Wichtige Felder im Modell


Hier sind die wichtigsten Odoo-Felder im project.project-Modell. Das Verständnis dieser wird Ihnen helfen, effektiv mit Projekten zu arbeiten.


1. name

Typ: Char. Dieses Feld speichert den Namen des Projekts. Es wird in vielen Odoo-Ansichten angezeigt und ist der primäre Identifikator für den Projekt-Datensatz.


2. create_date

Typ: Datetime. Speichert das Datum und die Uhrzeit, wann der Datensatz erstellt wurde. Wird automatisch von Odoo verwaltet. Nützlich für Berichterstattung und Audits.


3. write_date

Typ: Datetime. Speichert das Datum und die Uhrzeit der letzten Änderung. Wird ebenfalls automatisch verwaltet. Hilft dabei, nachzuvollziehen, wann die Daten zuletzt aktualisiert wurden.


4. active

Typ: Boolean. Soft-Delete-Flag. Wenn False, wird das Projekt archiviert und in den Standardansichten ausgeblendet. Datensätze werden nicht physisch gelöscht.


5. Reihenfolge

Typ: Integer. Anzeige-Reihenfolge für die Sortierung. Wird in Projektlisten und Dropdowns verwendet. Niedrigere Werte erscheinen zuerst.


6. Farbe

Typ: Integer. Farbindex für das Projekt. Wird in Ansichten und Kanban-Boards verwendet, um Projekte visuell zu unterscheiden.


7. benutzer_id

Typ: Many2one (res.users). Der Projektmanager. Dieser Benutzer ist für das Projekt verantwortlich und wird oft als Standardzugewiesener angezeigt.


8. unternehmens_id

Typ: Many2one (res.company). In Multi-Company-Setups zeigt dies an, zu welchem Odoo-Unternehmen das Projekt gehört.


9. partner_id

Typ: Many2one (res.partner). Der Kunde oder Klient, der mit dem Projekt verbunden ist. Wird für Abrechnung und Berichterstattung verwendet.


10. Beschreibung

Typ: Html. Projektbeschreibung. Kann HTML zur Formatierung enthalten. Wird für Projektbriefe und Notizen verwendet.


11. datum_start

Typ: Datum. Das Startdatum des Projekts. Wird für Planung und Berichterstattung verwendet.


12. datum

Typ: Datum. Die Frist oder das Enddatum des Projekts. Wird für Nachverfolgung und Berichterstattung verwendet.


13. aufgaben_ids

Typ: One2many (projekt.aufgabe). Die Liste der Aufgaben im Projekt. Dies ist die Hauptbeziehung zwischen Projekten und Aufgaben.


14. aufgabenanzahl

Typ: Ganzzahl. Anzahl der Aufgaben. Berechnet aus aufgaben_ids. Wird zur Anzeige und Filterung verwendet.


15. typ_ids

Typ: Many2many (projekt.aufgabe.typ). Aufgabenstufen oder -typen für das Projekt. Definiert den Workflow (z. B. To Do, In Progress, Done).


16. tag_ids

Typ: Many2many (project.tags). Projekttags zur Kategorisierung. Wird zum Filtern und Organisieren von Projekten verwendet.


17. privacy_visibility

Typ: Auswahl. Steuert, wer auf das Projekt zugreifen kann. Optionen: Eingeladene interne Benutzer (privat), Alle internen Benutzer oder Eingeladene Portalbenutzer und alle internen Benutzer (öffentlich).


18. collaborator_ids

Typ: One2many (project.collaborator). Teammitglieder, die dem Projekt zugewiesen sind. Definiert, wer am Projekt arbeiten kann.


19. favorite_user_ids

Typ: Many2many (res.users). Benutzer, die das Projekt als Favorit markiert haben. Wird für den schnellen Zugriff im Dashboard verwendet.


20. allow_task_dependencies

Typ: Boolean. Wenn wahr, können Aufgaben mit anderen Aufgaben als Vorgänger oder Nachfolger verknüpft werden. Wird für die Projektplanung verwendet.


21. allow_milestones

Typ: Boolean. Wenn wahr, können Meilensteine im Projekt erstellt werden. Meilensteine markieren wichtige Lieferungen.


22. milestone_ids

Typ: One2many (project.milestone). Die Meilensteine im Projekt. Wird zur Verfolgung wichtiger Lieferungen verwendet.


23. rating_active

Typ: Boolean. Wenn wahr, können Kunden das Projekt bewerten. Wird für Kundenfeedback verwendet.


24. task_properties_definition

Typ: Text (JSON). Benutzerdefinierte Aufgabenattribute für das Projekt. Definiert zusätzliche Felder, die zu Aufgaben hinzugefügt werden können.


25. access_url

Typ: Char. Die URL, über die Kunden auf das Projekt über das Portal zugreifen können. Wird für die Zusammenarbeit mit Kunden verwendet.


26. access_token

Typ: Char. Sicherheitstoken für den Portalzugang. Stellt sicher, dass nur autorisierte Benutzer das Projekt einsehen können.


27. alias_id

Typ: Many2one (mail.alias). E-Mail-Alias für das Projekt. Eingehende E-Mails erstellen automatisch Aufgaben.


28. activity_ids

Typ: One2many (mail.activity). Geplante Aktivitäten im Projekt. Wird für Nachverfolgungen und Erinnerungen verwendet.


29. activity_state

Typ: Auswahl. Zusammenfassung des Aktivitätsstatus: Heute, Überfällig oder Geplant. Berechnet aus activity_ids.


30. activity_date_deadline

Typ: Datum. Das Datum der nächsten geplanten Aktivität. Wird für die Aktivitätsplanung verwendet.


31. message_ids

Typ: One2many (mail.message). Chatter-Nachrichten im Projekt. Wird für die interne Kommunikation verwendet.


32. message_follower_ids

Typ: One2many (mail.followers). Benutzer, die dem Projekt folgen. Sie erhalten Benachrichtigungen.


33. create_uid

Typ: Many2one (res.users). Der Benutzer, der den Datensatz erstellt hat. Automatisch von Odoo gesetzt.


34. write_uid

Typ: Many2one (res.users). Der Benutzer, der den Datensatz zuletzt geändert hat. Wird automatisch von Odoo gesetzt.

Wie dieses Modell in Geschäftsabläufen verwendet wird


1. Projekt Erstellung und Verwaltung

Wenn ein Verkäufer oder Projektmanager ein Projekt erstellt, legt er den Namen, den Manager, die Daten und die Sichtbarkeit fest. Das Modell project.project speichert all dies. Aufgaben werden dann hinzugefügt und mit dem Projekt verknüpft.


2. Aufgabenworkflow

Aufgaben bewegen sich durch die von type_ids definierten Phasen. Der Projektmanager weist Aufgaben den Mitarbeitern zu. Das Projekt enthält die Workflow-Konfiguration und die Teamstruktur.


3. Kundenportal

Wenn die privacy_visibility den Portalzugang erlaubt, können Kunden Aufgaben und Meilensteine über die access_url einsehen. Das access_token sichert den Link. Dies ist nützlich für Kundenprojekte.


4. Stundenerfassung und Abrechnung

Mit dem Modul Stundenerfassung verknüpft project.project die Stundeneinträge. Mit Sale können Projekte mit Verkaufsaufträgen für projektbasierte Abrechnung verknüpft werden. Das Feld partner_id verbindet das Projekt mit dem Kunden.


5. E-Mail-Integration

Eingehende E-Mails an das Projektalias erstellen automatisch Aufgaben. Das Feld alias_id verbindet das Projekt mit seinem E-Mail-Alias. Dies vereinfacht die Erstellung von Aufgaben aus E-Mails.

Wie Entwickler dieses Modell erweitern


Entwickler erweitern project.project mit mehreren Mustern. Die Vererbung von Odoo-Modellen ist der Hauptmechanismus.


Modellvererbung

Verwenden Sie _inherit = 'project.project', um das Modell zu erweitern. Dies ist die Modellvererbung von Odoo in Aktion. Fügen Sie neue Odoo-Felder hinzu, überschreiben Sie Methoden oder fügen Sie Einschränkungen hinzu. Das vererbte Modell in Odoo hält Ihre Änderungen in einem separaten Modul für einfache Upgrades. Wenn Sie ein Modell in Odoo erben, erweitern Sie es, ohne das Original zu ändern.


Felder hinzufügen

Definieren Sie neue Odoo-Felder in Ihrem vererbten Modell. Verwenden Sie den richtigen Feldtyp: Char, Many2one, Boolean, Integer, Text, Auswahl. Berücksichtigen Sie unternehmensabhängige Felder für mehrere Unternehmen.


Python-Erweiterungen

Überschreiben Sie create, write oder unlink, um Logik hinzuzufügen. Verwenden Sie super(), um das Original aufzurufen. Seien Sie vorsichtig mit berechneten Feldern und deren Abhängigkeiten.


Odoo Studio

Odoo Studio ermöglicht es Ihnen, Felder ohne Code hinzuzufügen. Gut für schnelle Anpassungen. Für komplexe Logik oder Upgrades sind benutzerdefinierte Module wartungsfreundlicher.

Best Practices


  • Setzen Sie user_id für die Zuweisung des Projektmanagers. Klare Eigentümerschaft verbessert die Verantwortlichkeit.
  • Konfigurieren Sie type_ids für jedes Projekt. Definieren Sie Phasen, die Ihrem Workflow entsprechen.
  • Verwenden Sie privacy_visibility korrekt. Private Projekte schränken den Zugriff auf Follower und Administratoren ein.
  • Beim Erstellen von API-Integrationen verwenden Sie die XML-RPC- oder JSON-RPC-API. Das Modell project.project ist vollständig als API-Modell in Odoo verfügbar. Ordnen Sie externe IDs sorgfältig zu.
  • Für benutzerdefinierte Felder verwenden Sie das x_-Präfix oder ein Modulpräfix, um Konflikte mit zukünftigen Odoo-Versionen zu vermeiden.

Häufige Fehler


  • Aufgaben erstellen, ohne sie mit einem Projekt zu verknüpfen. Jede Aufgabe muss eine project_id haben.
  • Vergessen, type_ids festzulegen. Neue Projekte können keine Phasen haben, sodass Aufgaben nicht durch den Workflow bewegt werden können.
  • Die privacy_visibility auf öffentlich setzen, wenn sie privat sein sollte. Dies kann sensible Daten offenlegen.
  • Kernmethoden überschreiben, ohne super() aufzurufen. Dies kann andere Module oder zukünftige Upgrades beeinträchtigen.
  • Erforderliche benutzerdefinierte Felder ohne Standardwerte hinzufügen. Bestehende Datensätze werden bei einem Upgrade die Validierung nicht bestehen.

Fazit


Das Modell project.project ist zentral für das Projektmanagement in Odoo. Es speichert Projektdefinitionen, Workflow-Phasen und Teamstrukturen. Das Verständnis seiner Felder und wie Module es erweitern, wird Ihnen helfen, Odoo effektiv zu konfigurieren, anzupassen und zu integrieren.


Ob Sie nun ein funktionaler Berater sind, der Projekte einrichtet, oder ein Entwickler, der benutzerdefinierte Module erstellt, ein solides Verständnis von project.project wird Zeit sparen und Fehler verhindern.

Brauchen Sie Hilfe bei Ihrer Odoo-Implementierung?


Dasolo hilft Unternehmen bei der Implementierung, Anpassung und Optimierung von Odoo. Wir sind auf API-Integrationen und Odoo-Entwicklung spezialisiert. Unser Team hat umfassende Erfahrung mit der Odoo-Datenarchitektur und Modellen wie project.project.


Wenn Sie Hilfe bei Ihrer Odoo-Implementierung, benutzerdefinierten Modulen oder Integrationen benötigen, sind wir hier, um zu helfen. Buchen Sie eine Demo um Ihr Projekt zu besprechen.

Das Projektmodell: Odoos Projektarchitektur Verstehen
Dasolo 11. März 2026
Diesen Beitrag teilen
Anmelden , um einen Kommentar zu hinterlassen