2011-05-16 6 views
2

Google App Engine에서 django-nonrel (http://www.allbuttonspressed.com/projects/djangoappengine)을 사용하고 있습니다. 내 모델 등을 설치하고 모든 것이 잘 작동합니다. 나는 한 가지 질문을했다. 엔티티의 키에 액세스 할 수 있기를 원합니다. 'Review'라는 모델이 주어지면 Review.objects.get(pk = 1).key()을 실행하면 오류 (AttributeError)가 발생합니다.App Engine에서 django-nonrel을 사용할 때 엔티티의 키를 얻는 방법

pk/id를 사용하는 대신 강제로 사용할 수 있도록 주어진 엔티티의 키를 얻을 수있는 방법이 있습니까? 고유 한 & 비밀 URL에 대한 고유 식별자로 키를 사용하고 싶습니다 (누군가가이를 달성하기 위해 더 좋은 제안을하면, 나는 모든 귀입니다).

+2

추측 할 * 한눈에, 그들은 결코 고려되어야 * 비밀 *는 아마 http://docs.python.org ([SHA1 해시를] 기억 고려 /library/hashlib.html#module-hashlib) '비밀'URL에서 사용할 엔티티의 일부 고유 한 부분 –

+0

'1'은 키가 아닙니다. 키의 일부인 ID입니다. –

+0

아래의 두 가지 대답은 작동하지 않는 것 같습니다. Rishabh - 이거 일 했니? – speedplane

답변

0

파이썬 안에서 고유 한 키를 반환하는 object.key(). id()를 호출하여 id를 얻을 수 있습니다. 템플릿에서는 단순히 object.key.id를 호출 할 수 있습니다.

review._meta.pk

또는 키 이름 : 키를 = getattr 그럼 당신은 객체를

+0

이것은'django-nonrel'에서는 작동하지 않습니다. 대신 Chris가 언급 한 내용을 취해 고유 한 문자열을 기반으로 SHA1 해시를 생성합니다. –

관련 문제