Zum Inhalt springen

Das Blog.post-Modell: Odoos Architektur für Blogartikel Verstehen

Ein vollständiger Leitfaden zum Blog.Post Odoo-Modell für Entwickler und funktionale Berater
11. März 2026 durch
Das Blog.post-Modell: Odoos Architektur für Blogartikel 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, lebt in einem Modell.


Odoo-Modelle sind die Grundlage der Datenarchitektur. Sie definieren Odoo-Felder, Beziehungen und Geschäftslogik. Zu verstehen, wie Modelle funktionieren, ist für Entwickler und funktionale Berater von entscheidender Bedeutung.


Dieser Artikel konzentriert sich auf das blog.post Modell. Es steuert die Blog-Funktionalität auf Odoo-Websites. Egal, ob Sie Inhalte über die Benutzeroberfläche erstellen, Beiträge über die API automatisieren oder das Blog-Erlebnis anpassen, Sie werden mit diesem Modell arbeiten.

Was ist das blog.post Modell


Das blog.post-Modell repräsentiert einen einzelnen Blogartikel in Odoo. Jeder Datensatz ist ein Beitrag, der auf Ihrem Website-Blog erscheint.


Dieses Modell in Odoo ist Teil des website_blog-Moduls. Es arbeitet zusammen mit blog.blog (dem Blog-Container) und blog.tag (zur Kategorisierung). Wenn Sie einen Blogartikel in Odoo erstellen oder bearbeiten, erstellen oder aktualisieren Sie einen blog.post-Datensatz.


Das Modell erbt von mehreren Mixins. Es verwendet das mail.thread-Mixin für Chatter und Follower. Es verwendet das website.published.mixin für die Logik zum Veröffentlichen und Deaktivieren. Das Verständnis dieser Odoo-Modellvererbung hilft beim Erweitern des Modells.


blog.post ist kein abstraktes Modell oder transienter Modell in Odoo. Es ist ein reguläres gespeichertes Modell. Alle Beiträge werden in der Datenbank gespeichert und können über die API abgefragt werden.

Wichtige Felder im Modell


Hier sind die wichtigsten Odoo-Felder im blog.post-Modell. Das Verständnis dieser Felder wird Ihnen helfen, effektiv mit Blog-Inhalten zu arbeiten.


1. name

Typ: Char. Dieses Feld speichert den Titel des Blogbeitrags. Es ist erforderlich und wird in Listen, Formularen und auf der Website angezeigt. Der Name erscheint im Browser-Tab und in den Suchergebnissen.


2. blog_id

Typ: Many2one (blog.blog). Verknüpft den Beitrag mit seinem Blog-Container. Jeder blog.post gehört genau zu einem Blog. Verwenden Sie dies, um Beiträge in verschiedene Blogabschnitte zu organisieren (z. B. Nachrichten, Produktaktualisierungen, technische Anleitungen).


3. subtitle

Typ: Char. Ein kurzer Untertitel oder Slogan. Wird unter dem Titel auf der Beitragsseite und manchmal in Blog-Listings angezeigt. Nützlich für SEO und Lesbarkeit.


4. content

Typ: Html. Der Hauptteil des Artikels. Speichert reichhaltigen HTML-Inhalt, einschließlich Text, Bilder und Odoo-Website-Snippets. Dies ist das primäre Inhaltsfeld.


5. Teaser

Typ: Text. Automatisch generierter Teaser aus dem Inhalt. Odoo extrahiert eine Vorschau zur Anzeige in Blog-Listings. Nur lesbar und berechnet.


6. teaser_manual

Typ: Text. Manuelle Teaser-Überschreibung. Wenn gesetzt, ersetzt dies den automatisch generierten Teaser in Blog-Listings. Verwenden Sie dies für benutzerdefinierte Zusammenfassungen, die sich vom einleitenden Absatz unterscheiden.


7. author_id

Typ: Many2one (res.partner). Der Autor des Beitrags. Verknüpft mit einem Kontakt oder Benutzer. Wird im Beitrag und in Listings angezeigt. Nützlich für Blogs mit mehreren Autoren.


8. author_name

Typ: Char. Berechneter Anzeigename des Autors. Fällt auf den Anzeigenamen des Autors zurück, wenn author_id gesetzt ist. Nur lesbar.


9. author_avatar

Typ: Binary. Avatarbild des Autors. Wird neben dem Autorennamen im Beitrag angezeigt. Optional.


10. ist_veröffentlicht

Typ: Boolean. Ob der Beitrag veröffentlicht und auf der Website sichtbar ist. Nur lesbares berechnetes Feld. Verwenden Sie website_published, um dies zu ändern.


11. website_published

Typ: Boolean. Das beschreibbare Feld zum Veröffentlichen oder Nichtveröffentlichen. Auf True setzen, um den Beitrag live zu schalten. Auf False setzen, um ihn als Entwurf zu speichern. Dies steuert is_published.


12. post_date

Typ: Datetime. Das Veröffentlichungsdatum, das den Besuchern angezeigt wird. Wird zum Sortieren und Anzeigen verwendet. Kann in der Zukunft für geplante Beiträge festgelegt werden.


13. published_date

Typ: Datetime. Das tatsächliche Datum, an dem der Beitrag veröffentlicht wurde. Wird automatisch festgelegt, wenn website_published auf True gesetzt wird. Nützlich für Analysen.


14. active

Typ: Boolean. Soft-Delete-Flag. Wenn False, wird der Datensatz archiviert und aus den Standardansichten ausgeblendet. Beiträge werden nicht physisch gelöscht, um die Historie zu bewahren.


15. tag_ids

Typ: Many2many (blog.tag). Tags zur Kategorisierung. Wird verwendet, um Beiträge zu filtern und zu gruppieren. Tags können Kategorien für eine hierarchische Organisation haben.


16. visits

Typ: Ganzzahl. Besuchszähler. Nur lesbar. Wird erhöht, wenn Besucher den Beitrag ansehen. Wird für Analysen und beliebte Inhalte verwendet.


17. website_url

Typ: Zeichenfolge. Vollständiger URL-Pfad zum Beitrag auf der Website. Nur lesbar. Format: /blog/{blog-seo-name}-{blog-id}/{post-seo-name}-{post-id}.


18. cover_properties

Typ: Text. JSON-String, der die Eigenschaften des Coverbildes speichert. Steuert die Positionierung, Überlagerung und Anzeige des Blog-Coverbildes. Wird vom Frontend verwendet.


19. header_visible

Typ: Boolean. Ob die Website-Header auf der Beitragsseite angezeigt werden soll. Nützlich für Vollbreiten- oder eingebettete Beiträge.


20. footer_visible

Typ: Boolean. Ob die Website-Fußzeile auf der Beitragsseite angezeigt werden soll. Oft zusammen mit header_visible verwendet.


21. seo_name

Typ: Zeichenfolge. SEO-freundlicher URL-Slug. Bestimmt den URL-Pfad. Beispiel: my-post-title wird zu /blog/my-blog-1/my-post-title-1. Automatisch aus dem Namen generiert, wenn leer.


22. website_meta_title

Typ: Char. Meta-Titel für Suchmaschinen. Wird im Browser-Tab und in den Suchergebnissen angezeigt. Wichtig für SEO.


23. website_meta_description

Typ: Text. Meta-Beschreibung für Suchmaschinen. Wird in Such-Snippets angezeigt. Halten Sie sich an 150-160 Zeichen für die beste Anzeige.


24. website_meta_keywords

Typ: Char. Meta-Keywords. Heute weniger wichtig für SEO, wird aber von einigen Systemen weiterhin verwendet.


25. create_date

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


26. create_uid

Typ: Many2one (res.users). Benutzer, der den Datensatz erstellt hat. Wird automatisch festgelegt. Nur lesbar.


27. write_date

Typ: Datetime. Datum der letzten Änderung. Wird automatisch verwaltet. Hilft dabei, nachzuvollziehen, wann der Inhalt zuletzt aktualisiert wurde.


28. write_uid

Typ: Many2one (res.users). Benutzer, der den Datensatz zuletzt geändert hat. Nur lesbar.


29. display_name

Typ: Char. Berechneter Anzeigename. Wird in Many2one-Dropdowns und Suchergebnissen verwendet. Nur lesbar.


30. website_id

Typ: Many2one (website). In Multi-Website-Setups die Website, zu der dieser Beitrag gehört. Optional; wenn leer, kann der Beitrag auf allen Websites erscheinen.

Wie dieses Modell in Geschäftsabläufen verwendet wird


1. Content-Marketing und SEO

Marketing-Teams erstellen blog.post-Datensätze, um Artikel zu veröffentlichen. Sie verwenden website_meta_title, website_meta_description und seo_name, um für die Suche zu optimieren. Das Inhaltsfeld enthält den vollständigen Artikel. Tags helfen, Inhalte nach Thema zu organisieren.


2. Multi-Blog-Websites

Unternehmen betreiben mehrere Blogs (Nachrichten, Produktaktualisierungen, technische Dokumente). Jeder blog.blog hat viele blog.post-Datensätze. Das blog_id-Feld verknüpft jeden Beitrag mit seiner Kategorie. Besucher durchsuchen nach Blog und filtern nach Tag.


3. API-gesteuerte Inhalte

Integrationen erstellen blog.post-Datensätze über XML-RPC oder JSON-RPC. Anwendungsfälle umfassen den Import aus einem CMS, die Synchronisierung von einem headless Blog oder die Automatisierung der Beitragserstellung aus internen Systemen. Das API-Modell in Odoo stellt blog.post für Erstellen, Lesen, Aktualisieren und Suchen zur Verfügung.


4. Geplante Veröffentlichung

Setzen Sie post_date auf ein zukünftiges Datum und website_published auf True. Odoo zeigt den Beitrag an, wenn das Datum erreicht ist. Nützlich für Inhaltskalender und zeitgesteuerte Kampagnen.


5. Mehrere Autoren und Zusammenarbeit

Das Feld author_id und das mail.thread Mixin unterstützen die Zusammenarbeit. Autoren werden pro Beitrag zugewiesen. Follower werden über Änderungen benachrichtigt. Chatter ermöglicht interne Kommentare vor der Veröffentlichung.

Wie Entwickler dieses Modell erweitern


Entwickler erweitern blog.post mit verschiedenen Mustern. Die Vererbung von Modellen in Odoo ist der Hauptmechanismus.


Modellvererbung

Verwenden Sie _inherit = 'blog.post', um das Modell zu erweitern. 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. blog.post erbt von mail.thread und website.published.mixin; verstehen Sie diese, wenn Sie überschreiben.


Felder hinzufügen

Definieren Sie neue Odoo-Felder in Ihrem vererbten Modell. Verwenden Sie den richtigen Feldtyp: Char, Many2one, Boolean, Integer, Text, Auswahl. Für benutzerdefinierte Metadaten (Lesezeit, benutzerdefinierte Kategorien) fügen Sie Felder hinzu und machen Sie sie in Ansichten sichtbar. Verwenden Sie das Präfix x_ für benutzerdefinierte Felder, um Konflikte zu vermeiden.


Python-Erweiterungen

Überschreiben Sie create, write oder unlink, um Logik hinzuzufügen. Verwenden Sie super(), um das Original aufzurufen. Seien Sie vorsichtig mit website_published und post_date. Das Modell hat berechnete Felder aus dem Website-Mixin. Überschreiben Sie _compute_website_url, wenn Sie benutzerdefinierte URL-Logik benötigen.


Odoo Studio

Odoo Studio ermöglicht es Ihnen, Felder ohne Code hinzuzufügen. Gut für schnelle Anpassungen wie zusätzliche Metadaten. Für komplexe Logik, API-Integrationen oder benutzerdefinierte Ansichten sind benutzerdefinierte Module wartungsfreundlicher. Das API-Modell in Odoo (blog.post) ist vollständig über XML-RPC und JSON-RPC verfügbar.

Best Practices


  • Setzen Sie website_meta_title und website_meta_description für jeden Beitrag. Sie verbessern die SEO-Sichtbarkeit.
  • Verwenden Sie teaser_manual für Blog-Listings, wenn der automatisch generierte Teaser nicht passt. Individuelle Teaser schneiden oft besser ab.
  • Setzen Sie seo_name ausdrücklich für wichtige Beiträge. Vermeiden Sie Sonderzeichen, die URLs brechen können.
  • Beim Erstellen von API-Integrationen verwenden Sie website_published zum Veröffentlichen. Verlassen Sie sich nicht auf is_published für Schreibvorgänge.
  • Verwenden Sie tag_ids für eine konsistente Kategorisierung. Erstellen Sie Tags im Voraus und verwenden Sie sie in mehreren Beiträgen.

Häufige Fehler


  • Schreiben in is_published anstelle von website_published. is_published ist schreibgeschützt. Verwenden Sie immer website_published, um zu veröffentlichen oder die Veröffentlichung aufzuheben.
  • Vergessen, blog_id festzulegen. Es ist erforderlich. Beiträge ohne einen Blog werden nicht korrekt angezeigt.
  • Das website_meta_description leer lassen. Suchmaschinen können zufällige Inhalte von der Seite verwenden. Geben Sie immer eine klare Beschreibung von 150-160 Zeichen an.
  • Kernmethoden überschreiben, ohne super() aufzurufen. Dies kann das Verhalten des Website-Mixins oder von mail.thread beeinträchtigen.
  • Doppelte seo_name-Werte innerhalb desselben Blogs erstellen. URLs können in Konflikt geraten. Lassen Sie Odoo automatisch generieren oder stellen Sie die Einzigartigkeit sicher.

Fazit


Das blog.post-Modell ist zentral für Odoos Website-Blog. Es speichert jeden Artikel, seinen Inhalt, Metadaten und den Veröffentlichungsstatus. Das Verständnis seiner Odoo-Felder und wie es sich auf blog.blog und blog.tag bezieht, wird Ihnen helfen, Blog-Inhalte effektiv zu konfigurieren, anzupassen und zu integrieren.


Egal, ob Sie ein funktionaler Berater sind, der Inhalte verwaltet, oder ein Entwickler, der API-Integrationen erstellt, ein solides Verständnis von blog.post 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 verfügt über umfassende Erfahrung mit der Odoo-Datenarchitektur und Modellen wie blog.post.


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

Das Blog.post-Modell: Odoos Architektur für Blogartikel Verstehen
Dasolo 11. März 2026
Diesen Beitrag teilen
Anmelden , um einen Kommentar zu hinterlassen