2012-06-02 8 views
5

Volevo chiedere se esiste un modo diretto ed efficiente per ottenere il figlio di un'entità padre.Un modo efficiente per ottenere un'entità/chiavi child assegnata a un genitore

Sto modellando una relazione seguace/successiva (come Twitter). Quindi I ha un modello utente e un modello di messaggio. Ho un follower e un modello seguente che hanno un modello utente come genitore.

Quindi, ogni volta che un utente scrive un messaggio (o dice tweet), tutti i suoi follower dovrebbero essere in grado di farlo. In questo caso ho bisogno di capire chi sono i follower dell'utente (che invia un messaggio).

Qualsiasi aiuto è molto apprezzato

+0

Intendevi chiamare i modelli 'Seguito' e' Seguendo'? Inoltre, questo è probabilmente un cattivo esempio per l'uso degli antenati, dal momento che i tipi genitore e figlio hanno una relazione molti-a-molti (ad esempio, l'eliminazione di un 'seguito' non comporta l'eliminazione del suo' following'). –

risposta

0

Un altro metodo di trovare i figli di un'entità è creare un'istanza di un oggetto ndb.Query, passando ancestor al suo costruttore:

joe = Followed.get_by_id('joe') 

query = ndb.Query(ancestor = joe.key) 

followers = query.fetch() 

Questo fornisce anche un modo più generale per trovare i figli di un'entità senza richiedere che il loro Kind sia noto in anticipo.

Problemi correlati