Ich verwende ein neues Modul zur Anpassung und bestehenden App. Das Modul wird installiert und das Feld wird korrekt angezeigt und korrekt gespeichert. Das Problem ist, dass meine benutzerdefinierten Einschränkungen ignoriert werden. HierOdoo 9 anpassen Modul mit Feld Validierung
ist der vollständige Code aus meiner models.py Datei:
# -*- coding: utf-8 -*-
from openerp import models, fields, api
import logging
_logger = logging.getLogger(__name__)
# class myfieldsinsaleorder(models.Model):
# _name = 'myfieldsinsaleorder.myfieldsinsaleorder'
class partnercustomfields(models.Model):
_inherit = "res.partner"
def test(self):
return False
x_vend_account_ref = fields.Char(string="Our Account ID",
help='Our account number with this vendor.',
size=20)
_constraints = [(test,"Invalid Data",[x_vend_account_ref])]
Leider wird auch bei dieser Änderung jeder Wert akzeptiert, auch nachdem das Modul deinstalliert und neu installiert wurde. Dank Ihres Vorschlags ging ich zurück und überprüfte die Dokumente und probierte das auch, aber auch kein Glück. @ api.one @ api.constrains ("x_vend_account_ref") def test (self): raise ValidationError ("Name und Beschreibung der Felder müssen anders lauten") –
Haben Sie den Server neu gestartet? Jede Änderung am Modell oder Controller erfordert einen Neustart. – mokiSRB
Ich habe den Server neu gestartet. Kein Effekt. Ich habe verschiedene Varianten ausprobiert, einschließlich einiger Versuche, die dazu führten, dass eine Ausnahme ausgelöst wurde, die zumindest bestätigt, dass die Änderung angewendet wurde, aber ich kann immer noch keine Einschränkungen erhalten, um korrekt zu funktionieren. –