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

....and why should it matter?

TypeError: 'int' object has no attribute '__getitem__'

In fields.py, line 1197, in fnct_read value = value[field] or False

def _fnct_read(self, obj, cr, uid, ids, field_name, args, context=None):
    res = {}
    for record in obj.browse(cr, SUPERUSER_ID, ids, context=context):
        value = record
        for field in self.arg:
            if isinstance(value, list):
                value = value[0]
            value = value[field] or False
            if not value:
                break
        res[record.id] = value

So it wants the record.id and seems to be getting an int value. It's throwing an error even though it gets what it wants! Why wasn't this passed in the expected type? And why isn't there a case for the expected value to be int in the 1st place?

This is for a custom addon model which simply defines some columns.

아바타
취소

which line is 1197?

작성자

line 1197, in fnct_read value = value[field] or False

베스트 답변

Apparently, you have a related field incorrectly defined. The first parameter of fields.related must be the relational field used to reach the target model.

If this is not the case, post your field definition.

아바타
취소
작성자

That was the trick! I commented my relational fields and now no error. My related field is such - 'status':fields.related('id', 'state', type='char', relation='dbe.application', string='Application Status') and I copied it from the source of stock_inventory_line to get it right. Yet I still messed up! How?

작성자

Found the problem. The referenced model also had a related field pointing back to this model and that one was set to type='many2one'. I changed it to char and no problem. Thanks!

작성자

I don't get this error calling the form anymore but now I get it while saving. Hmmmm....

Hello Mike, Have you found any solution regarding this issue? If yes please can you post the solution as i am facing same problem. Regards,

관련 게시물 답글 화면 활동
1
10월 21
3653
1
10월 18
15238
0
1월 17
8083
1
10월 15
4293
1
3월 15
6851