2017-03-14 1 views
0

Ich versuche zu:Filter Ndb Abfrage durch benutzerdefinierte Eigenschaft

  1. hinzufügen Zeitzone Informationen zu end_date von NdbModel
  2. Abfrage ausführen, die end_date auf einem anderen date_with_timezone vergleicht, so dass ich hole nur Modelle, bei denen end_date vor ist date_with_timezone

    class PageSchedule(NdbModel): 
        end_date = ndb.DateTimeProperty() 
    
        def end(self): 
         return self.end_date.replace(tzinfo=pytz.timezone('US/Central')) 
    

Dann von einem anderen aber anscheinend nicht funktioniert machen Class

schedules = PageSchedule.query(
    PageSchedule.end() < date_with_timezone) 
).fetch() 

Ich versuche, es zu nennen.

TypeError: unbound method end() must be called with PageSchedule instance as first argument (got nothing instead) 

Antwort

0

Sie können nur Abfragen mit Eigenschaften durchführen, nicht mit Funktionen von ihnen. Es gibt jedoch eine einfache Lösung:

schedules = PageSchedule.query(
    PageSchedule.end_date < date_in_UTC) 
).fetch() 
Verwandte Themen