Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
1 Svar
7342 Visninger

At first I thought this would be easy, since it's not a big deal. I'll go straight to the problem.

def verify_service(self, cr, uid, ids, context=None):
    record = self.browse(cr, uid, ids)[0]
    rec_value = record.nr_service
    cr.execute("SELECT nr_service FROM services WHERE nr_service = %s", (rec_value,))
    values = cr.fetchall()
    if not values: # It means the database has NO value
        return True # continues to save the Form
    else: 
        return False # If there's any value with the value of the field "rec_value" it returns error!

_columns = {
        'nr_service':fields.integer('Nr. Service', size = 30, required = True),

_constraints = [
                    (verify_service, 'Error: Already that ID in the database!', ['nr_service']),

Isn't this so simple? But no matter what value I put inside the 'nr_service' field, it displays always the constraint message. What am I doing wrong?

Avatar
Kassér
Forfatter Bedste svar

Solved.

def verify_service(self, cr, uid, ids, context=None):
    record = self.browse(cr, uid, ids)[0]
    rec_value = str(record.nr_service)
    cr.execute("SELECT COUNT(*) FROM services WHERE nr_service = %s", [rec_value])
    values = cr.fetchone()
    if values[0] <= 1:
        return True
    return False
Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
0
mar. 15
5033
2
dec. 23
3539
0
sep. 23
6340
0
jun. 21
2800
1
nov. 20
4584