كيفية بناء GQL لعدم احتواء قيمة من مجموعة؟
-
25-09-2019 - |
سؤال
هل من الممكن الاختيار من جوجل تطبيق تطبيق DB حيث مفتاح أ db.Model
الكائن ليس في قائمة معينة؟ إذا كان الأمر كذلك ، ماذا سيكون بناء الجملة؟
على سبيل المثال من فئة النموذج:
class Spam(db.Model):
field1 = db.BooleanProperty(default=false)
field2 = db.IntegerProperty()
مثال على استعلام أود العمل ولكن لا يمكنني معرفة:
spam_results = db.GqlQuery(
"SELECT * FROM Spam WHERE key NOT IN :1 LIMIT 10",
['ag1waWNreXByZXNlbnRzchMLEgxBbm5vdW5jZW1lbnQYjAEM',
'ag1waWNreXByZXNlbnRzchMLEgxBbm5vdW5jZW1lbnQYjgEM'])
for eggs in spam_results:
print "id: %s" % a.key().id()
المحلول
لا على الرغم من أن App Engine يدعم استعلام "In" ، إلا أنه لا يدعم استعلام "لا في".
ومع ذلك ، إذا كانت قائمة الكيانات الخاصة بك لا تريد صغير ، ثم قد تسترجع فقط كل الكيان وتصفية تلك التي لا تحتاجها.
بدلاً من ذلك ، إذا كانت قائمة الكيانات التي تريد استبعادها هي جزء كبير من جميع الكيانات ، فإن الحل أعلاه سيكون غير فعال إلى حد ما. بدلاً من ذلك ، ربما يمكنك إضافة خاصية إضافية إلى النموذج الخاص بك والتي يمكنك استخدامها لتصفية الكيانات التي لا تريدها (سواء كان ذلك ممكنًا أم لا ، سيعتمد ذلك على احتياجاتك وبياناتك المحددة).