0
我使用下面的代碼來計算實體的數目:與GQL查詢相比,爲什麼標準NDB查詢返回不同的結果?
def get_emails_count(email_type=None, yesterday=None, status=None):
emails = EmailQueue.query()
if email_type:
emails = emails.filter(EmailQueue.email_type == email_type)
if yesterday:
...
if status:
emails = emails.filter(EmailQueue.status == status)
emails = emails.count(keys_only=True)
return emails
get_emails_count(email_type=4, status=0)
和以下GQL查詢(在GAE控制檯使用):
SELECT __key__ FROM EmailQueue WHERE email_type=4 and status=0
第一代碼返回245,第二個返回5實體(看起來更加正確)。第一個代碼有什麼問題?
對,就在一分鐘前通過記錄'str(emails)'發現相同。謝謝! –