What is a good way to get the number of query result when using NDB on google app engine?
Attempted this:
query = NDB_Model.query(NDB_Model.some_property == some_value)
if len(query) > 0: # <-- this throws and exception
entity = query[0]
I apologize that this is probably a very simple question, but it was not clear to me from the docs.
It seems like you just want to get the first entity from your query. That's what query.get()
is for.
query = NDB_Model.query(NDB_Model.some_property == some_value)
entity = query.get()
if entity is not None:
# Do stuff
From the docs:
Returns the first query result, if any (otherwise None). This is similar to calling q.fetch(1) and returning the first item of the list of results.
In a more general form, there's query.fetch(n)
where n
is the maximum number of entities to fetch. It returns a list, so you could easily check len()
on that.
To get the result count of a ndb query you can simply use count()
:
query = NDB_Model.query(NDB_Model.some_property == some_value)
if query.count() > 0:
entity = query[0]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With