2010-12-08 8 views
1

Dire que j'ai 3 entités:Comment déterminer le type de classe Google App Engine?

class A(db.Model): 
    something = db.StringProperty() 

class B(db.Model): 
    somethingelse = db.StringProperty() 

class C(db.Model): 
    reference = db.ReferenceProperty() 

où la référence en C peut être A ou B, comment je déterminer, étant donné une instance de C, le type de la référence (A ou B)?

Cordialement,

Johnny

Répondre

0

Vous pouvez le faire sans aller chercher l'entité référencé comme ceci:

c_instance = C.get(...) 

referenced_kind = C.reference.get_value_for_datastore(c_instance).kind() 

ou, si vous avez déjà une entité:

entity.key().kind() 

Voir les documents sur Key et Property pour plus d'informations.

+0

merci un million, Model.kind() Retourne le type du modèle, généralement le nom de la sous-classe Model. – Johnny