저급 Java API에서 런타임시 엔티티 이름을 구성 할 수있었습니다. 파이썬 앱 엔진에서 실행시 최대 엔티티 이름을 만들 수있는 방법이 있나요App Engine - 런타임시 엔티티 이름 지정
class SomeKindaData(db.Expando):
pass
sKD = SomeKindaData(key_name='1')
...
: 파이썬에서
, 나 또한 내 개체 이름 클래스 이름을 미리 정의 할 필요가 보인다 ?저급 Java API에서 런타임시 엔티티 이름을 구성 할 수있었습니다. 파이썬 앱 엔진에서 실행시 최대 엔티티 이름을 만들 수있는 방법이 있나요App Engine - 런타임시 엔티티 이름 지정
class SomeKindaData(db.Expando):
pass
sKD = SomeKindaData(key_name='1')
...
: 파이썬에서
, 나 또한 내 개체 이름 클래스 이름을 미리 정의 할 필요가 보인다 ?나는 앱 엔진에 대해 잘 모르겠지만,이 같은 런타임에 클래스를 정의 할 수 있습니다 : 그래서 type이 세 가지 인수 소요
def get_my_class(name):
return type(name, (db.Expando,), {})
: 클래스의
엔티티 자체에는 이름이 없습니다. 데이터 저장소에서 엔티티는 이름 또는 ID를 가질 수있는 키로 식별됩니다. 샘플 코드에서 엔터티의 키 이름을 "1"로 설정하고 있습니다. 엔티티도 종류별로 분류됩니다 (이 경우 SomeKindaData).
db.Model과 db.Expando는 데이터 저장소 주변의 로컬 ORM 추상화를 제공합니다. 이들을 사용할 때 엔티티의 종류 이름은 기본적으로 모델 클래스 이름으로 설정됩니다. 당신이 엔티티를 작성하기 전에 모델 클래스를 정의하지 않으려면 the low-level datastore API를 사용할 수 있습니다
from google.appengine.api import datastore
sKD = datastore.Entity(kind='SomeKindaData', name='1')
sKD['SomeProperty'] = 'SomeValue'
datastore.Put(sKD)
그는 종류 이름을 말합니다.이 이름은 엔티티에 포함되어 있습니다. –
파이썬 3.0에서이 작업을 수행하고 2.x으로하지? –
그것은 Python 2.1에서 작동합니다. – Henry
Oops, Python 2.2 (문서 당) – Henry