كيفية الاستعلام عن جميع الإدخالات من 6 ساعات الماضية (DateTime) في GQL؟

StackOverflow https://stackoverflow.com/questions/994187

  •  13-09-2019
  •  | 
  •  

سؤال

لدي جدول بسيط في محرك تطبيق Google مع حقل تاريخ. أريد الاستئصال من جميع الصفوف بحقل التاريخ الذي يقدره بين الآن و 6 ساعات. كيف يمكنني تشكيل هذا الاستعلام؟

هل كانت مفيدة؟

المحلول

SELECT * FROM simpletable
WHERE datefield < DATETIME(year, month, day, hour, minute, second)

الحوسبة تلك السنة، الشهر، و C، في رمز التطبيق الخاص بك.

نصائح أخرى

أعلم أنك تقول GQL، لكن إليك وظيفة مساعد Python أستخدمها:

import datetime
def seconds_ago(time_s):
    return datetime.datetime.now() - datetime.timedelta(seconds=time_s)

قد يكون هناك طريقة أكثر إيجازا لكتابةها: أنا لست خبيرا مثيرا على الأبراج وذهب مع أول شيء يعمل. ألق نظرة على مستندات DateTime إذا كنت تهتم. انها تستخدم مثل هذا:

my_query = MyTable.all().filter("date >", seconds_ago(6*60*60))

أنا متأكد من أنه يمكن ترجمته إلى GQL دون عناء كثيرا، لكنني أفضل الواجهة الموجهة للكائنات، وأنا لا أعرف بناء جملة التاريخ الضروري.

في Python، يتم استخدام الاستعلام بعد ذلك مثل هذا:

# get a count
my_query.count()
# get up to 1000 records
my_query.fetch(1000)
# iterate over up to 1000 records
for result in my_query:
    # do something with result
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top