2016-11-08 3 views
1

ndb.polymodel.PolyModel 클래스가 class_name() 메소드를 사용했지만 더 이상 사용되지 않는 것으로 나타났습니다.ndb PolyModel Google App Engine에서 객체 클래스 결정

두 개의 하위 클래스 인 Employee와 Manager가있는 상위 사용자 클래스 형태의 polymodel을 사용하는 데이터 구조가 있으며 사용자 개체가 Employee 클래스인지 여부를 결정하기 위해 몇 가지 기본 검사를 수행하고 싶습니다. 또는 클래스 매니저.

지금은 객체의 .__class__.__name__ 속성을 직접 호출하고 있지만 PolyModel.class_name() 메소드가 사용되지 않는 이유는 궁금합니다. 클래스 상속을 결정하는 더 좋은 방법이 있습니까?

+1

'isinstance (user, Employee)'/'isinstance (user, Manager)'당신이 찾고있는 것이 무엇입니까? (https://docs.python.org/2/library/functions.html#isinstance) –

+0

아, 네, 가능합니다. 고맙습니다. – yoonjesung

답변

2

위의 의견에 따르면 필요한 것은 isinstance(user, Employee)/isinstance(user, Manager)입니다.