콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
7335 화면

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?

아바타
취소
작성자 베스트 답변

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
아바타
취소
관련 게시물 답글 화면 활동
0
3월 15
5033
@api.constrains 해결 완료
2
12월 23
3538
0
9월 23
6316
0
6월 21
2800
1
11월 20
4582