3
GAE 기반 웹 애플리케이션에서 NDB Entity를로드하고 편집하려고합니다. 하지만 문제는 내가 편집하려고하는 필드가 문자열에서 동적으로 결정되므로 하드 코딩 할 수 없다는 것입니다. ndb 객체의 속성을 동적으로 설정하기
나는이 일을 시도했지만 아무도 그렇게 할 몇 가지 올바른 구문이 있어야합니다obj[fieldName] = newValue
obj.populate(fieldName,newValue)
obj.populate(Modlue._properties[fieldName] = newValue) #keyword can't be an expression
setattr(obj, fieldName,newValue) #value not being set
을 일했다. 누군가가 당신이 안전하게 모델 클래스에
ndb.Expando
와
ndb.Model
을 대체 할 수
마지막 하나가 맞습니다. 값이 설정되지 않았다는 것을 어떻게 확인하고 있습니까? –
대체로 채우기를 사용할 수는 있지만 사전은 전달할 수 있습니다. obj.populate (** {fieldname : newValue})'는 populate로 속성에 해당하는 이름 지정된 인수 세트를 취합니다. –
@DanielRoseman 도움을 주셔서 감사합니다. 마지막으로 작업 했음 – Saqib