혼란 스러워요. get_or_insert(..)
입니다. key_name
으로 무엇을 전달해야합니까? 다음 예를 고려하십시오.Google App Engine - Datastore get_or_insert key_name 혼동
두 사람이 같은 이름을 가질 수 없다고 가정하십시오. 예를 들어 Peter
이라는 새로운 Person
을 가져 오거나 삽입하고 싶다면 내 get_or_insert
성명은 어떻게 생겼습니까?
건배,
피트
혼란 스러워요. get_or_insert(..)
입니다. key_name
으로 무엇을 전달해야합니까? 다음 예를 고려하십시오.Google App Engine - Datastore get_or_insert key_name 혼동
두 사람이 같은 이름을 가질 수 없다고 가정하십시오. 예를 들어 Peter
이라는 새로운 Person
을 가져 오거나 삽입하고 싶다면 내 get_or_insert
성명은 어떻게 생겼습니까?
건배,
피트
여기 가능성이 혼란스러운 것은 귀하의 예제에서 name = db.StringProperty
비트가 필요하지 않도록 키, 모델 선언에 직접 표시하지 않습니다. get_or_insert
는 첫 번째 (필수) 인수로 키 이름을 소요, 그래서 당신은 다음과 같은 코드를 찾고 : 당신은 기본 키처럼 key_name
생각할 수
person = Person.get_or_insert('Peter')
# other interesting & useful code here...
# later, maybe we need to retrieve that key name from the object:
name = person.key().name()
assert(name == "Peter")
. get_or_insert(...)
에 대한 문서를 살펴보면 백엔드 코드의 예가 있습니다.
이름이 고유 한 필드 인 경우이를 키 이름으로 사용할 수도 있습니다. 공백을 없애고 사례를 정규화하는 것이 좋겠지 만.
선언 된 db.StringProperty 이름이 key_name과 아무 관련이 없다는 것을 알고 계십니까? – systempuntoout