Ich benutze Python auf GAE.
Ich habe eine Abfrage, wo ich ein Feld gegen Wert aus einer Liste kommen muss. Meine Einheit wie folgt aussieht:gae ndb Abfrage mehrere Werte
class TimeTableChange(ndb.Model):
"""A Change entry."""
details = ndb.StringProperty()
class_label = ndb.StringProperty()
class_id = ndb.IntegerProperty()
year = ndb.IntegerProperty()
month = ndb.IntegerProperty()
day_of_month = ndb.IntegerProperty()
hour = ndb.IntegerProperty()
type = ndb.StringProperty()
ts = ndb.IntegerProperty()
Ich möchte eine Abfrage auszuführen, die wie (MySQL wie Beispiel) aussieht:
select * from TimeTableChange
where year = 2017 and month = 8 and day_of_month = 12 and class_id IN [12,34,67]
Die Liste [12,34,67] ist nur ein Beispiel. Die Liste kann leer sein oder N ganze Zahlen enthalten. Wie erstelle ich die richtige ndb-Abfrage?
Für das Jahr/Monat/DAY_OF_MONTH verwende ich
query = query.filter(ndb.AND(TimeTableChange.year == tomorrow.year,
TimeTableChange.month == tomorrow.month,
TimeTableChange.day_of_month == tomorrow.day))
und es funktioniert gut. Jetzt muss ich mit einer Liste ‚class_id‘ passen
was ist mit der Liste int? Wie wird es in der Abfrage dargestellt? – balderman
Ich habe die Antwort aktualisiert und ich denke, das wird für int funktionieren. –