RecursionError : Odoo 13에서 최대 재귀 깊이를 초과했습니다.

파완 샤르마

xlsx 시트를 가져올 때 'RecursionError : maximum recursion depth exceeded'오류가 발생합니다. odoo v13을 사용하고 있습니다. 내 목표는 'log_status'가 'Confirmed'상태로 변경되면 할당 된 메서드 하나를 호출해야한다는 것입니다. 이를 위해이 메서드를 호출하는 쓰기 메서드를 사용하고 있습니다. 내 파이썬 코드는 다음과 같습니다.

    @api.model
    def write(self, vals):
        record = super(Transaction_log, self).write(vals)
        if 'log_status' in vals and vals.get('log_status') == 'Confirmed':
            self.action_confirm()
        return record


    def action_confirm(self):
        self.write({'log_status': 'Confirmed'})
        self.action_performed.create({'log_status': 'Confirmed', 'trans_log': self.id,
                                      'performed_by': self.env.user.id, 'performed_time': datetime.now()})
        return True

미리 감사드립니다.

바 베시 오데 드라

개선 할 수있는 항목은 거의 없습니다.

  • 변경 api.model으로 api.multi.
  • self.action_confirm()메소드 내부에서 다시 write 메소드를 호출했는데 'log_status'가 'Confirmed'조건과 일치합니다. 따라서 재귀 적입니다.

이를 피하기 위해 context더미 플래그를 전달 하는 사용할 수 있습니다 .

다음 코드로 시도하십시오.

@api.multi
def write(self, vals):
    record = super(Transaction_log, self).write(vals)
    if 'log_status' in vals and vals.get('log_status') == 'Confirmed' and not self._context.get('by_pass_log_status'):
        self.action_confirm()
    return record

@api.multi
def action_confirm(self):
    self.with_context('by_pass_log_status').write({'log_status': 'Confirmed'})
    self.action_performed.create({'log_status': 'Confirmed', 'trans_log': self.id,
                                  'performed_by': self.env.user.id, 'performed_time': datetime.now()})
    return True

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

RecursionError : 스레드를 사용하는 동안 최대 재귀 깊이를 초과했습니다.

분류에서Dev

PyQt5 : RecursionError : Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

분류에서Dev

RecursionError at : Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

분류에서Dev

내 Django 신호에서 최대 재귀 깊이를 초과했습니다.

분류에서Dev

/ person /의 RecursionError가 __instancecheck__에서 초과 된 최대 재귀 깊이

분류에서Dev

recursionerror : skopt를 사용한 tensorflow와 비교하여 최대 재귀 깊이가 초과되었습니다.

분류에서Dev

/ graphql의 RecursionError. 최대 재귀 깊이 초과

분류에서Dev

Python Tkinter : RecursionError : 최대 재귀 깊이 초과

분류에서Dev

Python 복합 설계 패턴-RecursionError : 최대 재귀 깊이 초과

분류에서Dev

파이썬 프로그래밍 오류 RecursionError : 비교에서 최대 재귀 깊이 초과

분류에서Dev

생성 할 때 Django 모델에서 최대 재귀 깊이를 초과했습니다.

분류에서Dev

Sqlalchemy를 사용하여 최대 재귀 깊이를 초과했습니다.

분류에서Dev

최대 재귀 깊이가 discord.py 봇 루프를 초과했습니다.

분류에서Dev

RuntimeError : DB에서 다각형 포인트를 가져 오는 동안 Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

분류에서Dev

메서드 이름을 인쇄 할 때 Python 개체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

분류에서Dev

범주 형 변수를 요약 할 때 최대 재귀 깊이를 초과했습니다.

분류에서Dev

Andrew의 곡선 : Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

분류에서Dev

RuntimeError : 기본 해시 방법을 사용하여 최대 재귀 깊이를 초과했습니다.

분류에서Dev

모듈을 설치할 때 Python 최대 재귀 깊이를 초과했습니다.

분류에서Dev

재귀 함수에서 최대 호출 스택 크기를 초과했습니다.

분류에서Dev

React 오류에서 최대 업데이트 깊이를 초과했습니다.

분류에서Dev

깊이 우선 검색에서 Python "RuntimeError : 최대 재귀 깊이 초과"

분류에서Dev

BeautifulSoup : RuntimeError : 최대 재귀 깊이 초과

분류에서Dev

python pong의 __instancecheck__에서 최대 재귀 깊이를 초과하면 어떻게해야합니까?

분류에서Dev

요청 Python에서 URL로 최대 재 시도를 초과했습니다.

분류에서Dev

예외 값 방지 : Django 신호에서 Python 객체를 호출하는 동안 최대 재귀 깊이 초과

분류에서Dev

예외 값 방지 : Django 신호에서 Python 객체를 호출하는 동안 최대 재귀 깊이 초과

분류에서Dev

오류 발생 : 비교에서 최대 재귀 깊이가 초과 됨

분류에서Dev

변수 인수를 사용하는 Python "비교에서 최대 재귀 깊이 초과". 그러나 목록에서는 잘 작동합니다.

Related 관련 기사

  1. 1

    RecursionError : 스레드를 사용하는 동안 최대 재귀 깊이를 초과했습니다.

  2. 2

    PyQt5 : RecursionError : Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

  3. 3

    RecursionError at : Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

  4. 4

    내 Django 신호에서 최대 재귀 깊이를 초과했습니다.

  5. 5

    / person /의 RecursionError가 __instancecheck__에서 초과 된 최대 재귀 깊이

  6. 6

    recursionerror : skopt를 사용한 tensorflow와 비교하여 최대 재귀 깊이가 초과되었습니다.

  7. 7

    / graphql의 RecursionError. 최대 재귀 깊이 초과

  8. 8

    Python Tkinter : RecursionError : 최대 재귀 깊이 초과

  9. 9

    Python 복합 설계 패턴-RecursionError : 최대 재귀 깊이 초과

  10. 10

    파이썬 프로그래밍 오류 RecursionError : 비교에서 최대 재귀 깊이 초과

  11. 11

    생성 할 때 Django 모델에서 최대 재귀 깊이를 초과했습니다.

  12. 12

    Sqlalchemy를 사용하여 최대 재귀 깊이를 초과했습니다.

  13. 13

    최대 재귀 깊이가 discord.py 봇 루프를 초과했습니다.

  14. 14

    RuntimeError : DB에서 다각형 포인트를 가져 오는 동안 Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

  15. 15

    메서드 이름을 인쇄 할 때 Python 개체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

  16. 16

    범주 형 변수를 요약 할 때 최대 재귀 깊이를 초과했습니다.

  17. 17

    Andrew의 곡선 : Python 객체를 호출하는 동안 최대 재귀 깊이를 초과했습니다.

  18. 18

    RuntimeError : 기본 해시 방법을 사용하여 최대 재귀 깊이를 초과했습니다.

  19. 19

    모듈을 설치할 때 Python 최대 재귀 깊이를 초과했습니다.

  20. 20

    재귀 함수에서 최대 호출 스택 크기를 초과했습니다.

  21. 21

    React 오류에서 최대 업데이트 깊이를 초과했습니다.

  22. 22

    깊이 우선 검색에서 Python "RuntimeError : 최대 재귀 깊이 초과"

  23. 23

    BeautifulSoup : RuntimeError : 최대 재귀 깊이 초과

  24. 24

    python pong의 __instancecheck__에서 최대 재귀 깊이를 초과하면 어떻게해야합니까?

  25. 25

    요청 Python에서 URL로 최대 재 시도를 초과했습니다.

  26. 26

    예외 값 방지 : Django 신호에서 Python 객체를 호출하는 동안 최대 재귀 깊이 초과

  27. 27

    예외 값 방지 : Django 신호에서 Python 객체를 호출하는 동안 최대 재귀 깊이 초과

  28. 28

    오류 발생 : 비교에서 최대 재귀 깊이가 초과 됨

  29. 29

    변수 인수를 사용하는 Python "비교에서 최대 재귀 깊이 초과". 그러나 목록에서는 잘 작동합니다.

뜨겁다태그

보관