새소식

반응형
Python/Clean Code Series(클린코드)

Python 유효성 검사하고 dictionary 특정 키값 업데이트하기[As Clean](bson.errors.InvalidId: 'undefined' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string)

  • -
반응형

Python 유효성 검사하고 dictionary 특정 키값 업데이트하기. Clean하게.

 

유효성 검사 안하면 아래처럼 에러가 생깁니다.

bson.errors.InvalidId: 'undefined' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string

bson.errors.InvalidId: 'undefined' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string
python

 

우선 키값을 update하려면 아래처럼 유효성을 검사하고 새로운 value를 넣으면 됩니다. 

if aiPicPrompt:
    aiPicPrompt["_id"] = str(aiPicPrompt.get("_id"))

 

하지만 위의코드도 작동하지만 한줄로 줄이고, 더 멋지게 작성할 수 있습니다.

반응형
aiPicPrompt and aiPicPrompt.update(_id=str(aiPicPrompt["_id"]))

 

해당 키값에 '=' 사용하여 value를 셋팅 하는것보단 update 함수로 조금더 직관적으로 볼수 있습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.