2012-01-27 3 views
0

나 자신을 위해 사용자 ID 5005를 받고 싶습니다. GAE를 사용하면 ID를 할당하고 설정할 수 있지만 documentation을 완전히 이해하지 못했습니다.ID를 할당하는 방법

코드는

handmade_key = db.Key.from_path('MyModel', 1) 
first_batch = db.allocate_ids(handmade_key, 10) 
first_range = range(first_batch[0], first_batch[1] + 1) 

my_id = first_range.pop(0) 
new_key = db.Key.from_path('MyModel', my_id) 
new_instance = MyModel(key=new_key) 
new_instance.put() 
assert new_instance.key().id() == my_id 

입니다하지만 여기서 내가 사용자 ID로 5005을 원하는 배치해야합니까? 모델은 webapp2의 사용자 모델입니다.

+1

다른 ID 엔티티에 동일한 키가 주어 지므로 [충돌을 일으킬 수있는] ID 집합을 '예약'하는 데 사용되는 함수입니다. AFAIK, 당신은 엔티티에 자신의 'id'를 설정할 수 없습니다. [내가 물어야 만하지만, 왜 그런 기능이 필요합니까?] –

+0

관리자가 간단한 ID를 작성하려고합니다. 5005 그리고 그것을 예를 들어 누군가에게 할당하십시오. 단지 2 명의 사용자가있을 때 9384637. 의견을 주셔서 감사합니다. –

답변

1

당신은 특정 ID를 allocate_id_range를 사용하여 범위를 할당 할 수 있습니다, 그리고 당신은 자신의 ID를 제공하여 수동으로 Key.from_path를 사용하여 키를 생성 할 수 있어야하고, key 인수를 사용하여 새 모델 인스턴스에 할당합니다.

관련 문제