سؤال

هل من الممكن الاختيار من جوجل تطبيق تطبيق 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" ، إلا أنه لا يدعم استعلام "لا في".

ومع ذلك ، إذا كانت قائمة الكيانات الخاصة بك لا تريد صغير ، ثم قد تسترجع فقط كل الكيان وتصفية تلك التي لا تحتاجها.

بدلاً من ذلك ، إذا كانت قائمة الكيانات التي تريد استبعادها هي جزء كبير من جميع الكيانات ، فإن الحل أعلاه سيكون غير فعال إلى حد ما. بدلاً من ذلك ، ربما يمكنك إضافة خاصية إضافية إلى النموذج الخاص بك والتي يمكنك استخدامها لتصفية الكيانات التي لا تريدها (سواء كان ذلك ممكنًا أم لا ، سيعتمد ذلك على احتياجاتك وبياناتك المحددة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top