2016-04-28 11 views
0

Я использую новый модуль для настройки и существующего приложения. Модуль устанавливается, и поле отображается правильно и сохраняет правильно. Проблема в том, что мои пользовательские ограничения игнорируются.Odoo 9 настроить модуль с проверкой поля

Вот полный код из моего models.py файла:

# -*- 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])] 

ответ

0

Благодаря mokiSRB для сдачи меня на верном пути. Его предложение использовать @ api.constrains верное, но мое целевое возвращаемое значение также было неправильным.

При взгляде на другие применения @ api.constrains в других модулях я нахожу повышение UserError. Это работает, но метод устарел. Насколько я могу собрать правильный метод для повышения ошибки, это ValidationError, поскольку это дает ожидаемый результат.

@api.constrains('x_vend_account_ref') 
def customvalidation(self): 
    raise ValidationError('The Field Is Not valid') 
0

Ограничения должны использоваться следующим образом:

@api.constrains("x_vend_account_ref") def test(self): return False

+0

К сожалению, даже при этом изменении любое значение по-прежнему принимается даже после удаления модуля и его повторной установки. Благодаря вашему предложению я вернулся и проверил документы и попробовал это, но также не повезло. @ api.one @ api.constrains ("x_vend_account_ref") def test (self): raise ValidationError ("Название и описание полей должно быть разным") –

+0

Вы перезапустили сервер? Каждое изменение модели или контроллера требует перезагрузки. – mokiSRB

+0

Я перезапустил сервер. Нет эффекта. Я пробовал несколько вариантов, в том числе некоторые попытки, которые привели к тому, что было выбрано исключение, которое, по крайней мере, подтвердило, что изменение было применено, но я все еще не могу получить ограничения для правильной работы. –

Смежные вопросы