google-app-engine join gql

google app engine - ¿Necesita ordenar por propiedades en la propiedad de referencia, alguna buena solución?



google-app-engine join (1)

No hay equivalente para esa consulta en el almacén de datos. Algunos puntos:

  1. No puedes seleccionar una sola propiedad. SELECT siempre es SELECT * (selecciona una entidad completa).
  2. No puedes hacer uniones. Debe desnormalizar sus modelos para adaptarse a las consultas que realizará o realizar múltiples consultas.

Entonces, para lograr su objetivo, debe tener last_login almacenado en Relationship , o tener un tercer modelo para servir como índice para esa consulta específica.

Digamos que tengo 2 tipos:

class Account(db.Model): name = db.StringProperty() create_time = db.DataTimeProperty() last_login = db.DateTimeProperty() last_update = db.DataTimeProperty() class Relationship(db.Model) owner = db.ReferenceProperty(Account) target = db.ReferenceProperty(Account) type = db.IntegerProperty()

Quiero obtener la equivalencia de la siguiente consulta:

SELECT target FROM Relationship WHERE owner = :key AND type = :type ORDERBY target.last_login DESC

¿Como hacer eso?

referencia: http://www.mail-archive.com/[email protected]/msg15878.html