Odoo Help


This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


constraint not working porperly

on 11/27/13, 6:57 AM 1,215 views

hie...I am new in openerp. Here is my code. When condition is met properly, it throws exception which is correct. But when condition is not met, it still throws exception. How??????

def _check_resign_date(self,cr,uid,ids,context=None):

    for rec in self.browse(cr,uid,ids):
        if rec.status == 'resign':
            if rec.resign_date > rec.separation_date:
                 raise osv.except_osv(('Alert!'),('Resignation date should not be greater than Separation Date.'))
        elif rec.status == 'transfer':
            if rec.transfer_date > rec.separation_date:
                 raise osv.except_osv(('Alert!'),('Transfer date should not be greater than Separation Date.'))
    return True

_constraints = [ (_check_resign_date,'a',['id']), ]


Anil R. Kesariya

--Anil R. Kesariya--
| 6 5 8
Gandhinagar, India
--Anil R. Kesariya--
ERP Consultant

Key Skill
Technical & Functional Expert
Anil R. Kesariya
On 11/27/13, 7:31 AM

Hello vikram,

Correct the argument list on your constraint set.

Brief description about arguments

_constraints = [(_check_resign_date,'YOur warning Message !!', ['field_name'])]

1) First argument is your method name 2) The second argument is warning message when your method return false. 3) It must be field name of your model when that field will change than this constraint will trigger. so make sure you are giving the exact field name.

No need to raise exception from there return true or false based on your warning message will trigger from constraint. I suggeest you need to pass both date on your constraint.

like :

_constraints = [(_check_resign_date,'YOur warning Message !!', ['status','resign_date','separation_date'])]

return true or false from your method message will trigger from constraint.

Hope this will help.

Regards, Anil

Thanx....now it works

on 11/27/13, 8:22 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)


Asked: 11/27/13, 6:57 AM
Seen: 1215 times
Last updated: 3/16/15, 8:10 AM