Gibt es eine Möglichkeit, benutzerdefinierte Feldattribute in Odoo hinzuzufügen? Zum Beispiel hat jedes Feld das Attribut help
, in dem Sie eine Nachricht eingeben können, die das Feld für den Benutzer erklärt. Daher möchte ich ein benutzerdefiniertes Attribut hinzufügen, damit sich das Feld für alle Arten von Feldern ändert.Odoo - benutzerdefiniertes Feldattribut hinzufügen?
Ich möchte in Field
Klasse hinzufügen, damit alle Felder dieses Attribut erhalten würden. Aber egal, was ich mache, Odoo sieht nicht, dass ein solches Attribut hinzugefügt wurde.
Wenn ich einfach neue benutzerdefinierte Attribut hinzufügen möchte:
some_field = fields.Char(custom_att="hello")
Dann wird es einfach ignoriert. Und ich brauche es durch fields_get
Verfahren aufgenommen werden sollen, die gewünschten Attributwert zurückgeben kann (info, was sie tut:
def fields_get(self, cr, user, allfields=None, context=None, write_access=True, attributes=None):
""" fields_get([fields][, attributes])
Return the definition of each field.
The returned value is a dictionary (indiced by field name) of
dictionaries. The _inherits'd fields are included. The string, help,
and selection (if present) attributes are translated.
:param allfields: list of fields to document, all if empty or not provided
:param attributes: list of description attributes to return for each field, all if empty or not provided
"""
es so nennen, kehrt nicht meine benutzerdefinierte Attribute (es die, die zurückkehrt ursprünglich definiert durch Odoo obwohl).
ich habe auch versucht _slots
(mit Affen-Patch zu aktualisieren oder einfach nur testen von Quellcode) Attribut in Field
Klasse zu ändern, aber es scheint, es ist nicht genug. Weil mein Attribut noch ignoriert.
from openerp import fields
original_slots = fields.Field._slots
_slots = original_slots
_slots['custom_att'] = None
fields.Field._slots = _slots
Kann jemand neues benutzerdefiniertes Attribut für Feld richtig hinzufügen?
habe ich versucht, diese und es funktioniert, obwohl Sie müssen auch das Attribut innerhalb '_slots' Wörterbuch hinzufügen (in' Field' Klasse), so wird es Standardwert zu erhalten, Andernfalls wird Odoo einen Fehler melden. Jetzt muss ich herausfinden, wie man das anwendet, ohne den Quellcode direkt zu verändern. – Andrius