Domanda

E 'possibile scegliere tra un db Google App Engine in cui la chiave di un oggetto db.Model non è in una data lista? Se così fosse, quale sarebbe la sintassi?

Ex di una classe del modello:

class Spam(db.Model):
    field1 = db.BooleanProperty(default=false)
    field2 = db.IntegerProperty()

Esempio di una domanda che mi piacerebbe lavorare, ma non riesco a capire:

spam_results = db.GqlQuery(
"SELECT * FROM Spam WHERE key NOT IN :1 LIMIT 10", 
['ag1waWNreXByZXNlbnRzchMLEgxBbm5vdW5jZW1lbnQYjAEM', 
 'ag1waWNreXByZXNlbnRzchMLEgxBbm5vdW5jZW1lbnQYjgEM'])

for eggs in spam_results:
  print "id: %s" % a.key().id()
È stato utile?

Soluzione

No Anche se il motore applicazione supporta una query "IN", che non supporta una "NOT IN" query.

Tuttavia, se l'elenco delle entità che si non desiderio è piccolo, allora si potrebbe anche solo recuperare tutti entità e filtro fuori quelli che non lo fai bisogno di te.

In alternativa, se l'elenco delle entità che si desidera escludere è una grande frazione di tutte le entità, allora la soluzione di cui sopra sarebbe piuttosto inefficiente. Invece, forse si potrebbe aggiungere una proprietà aggiuntiva al modello che si potrebbe usare per filtrare le entità che non si desidera (anche questo è possibile dipenderà vostre esigenze specifiche e dati).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top