إرجاع GQLQUERY كائن، نريد قائمة مفاتيح
-
20-09-2019 - |
سؤال
هل هناك طريقة لتحويل كائن GQLQuery إلى مجموعة من المفاتيح، أم أن هناك طريقة لفرض الاستعلام لإرجاع مجموعة من المفاتيح؟ علي سبيل المثال:
items = db.GqlQuery("SELECT __key__ FROM Items")
إرجاع كائن يحتوي على المفاتيح:
<google.appengine.ext.db.GqlQuery object at 0x0415E210>
أحتاج إلى مقارنتها بمجموعة من المفاتيح التي تبدو:
[datastore_types.Key.from_path(u'Item', 100L, _app_id_namespace=u'items'),
..., datastore_types.Key.from_path(u'Item', 105L, _app_id_namespace=u'fitems')]
ملاحظة: يمكنني الحصول على المشكلة عن طريق الاستعلام عن الكائنات المخزنة، ثم استدعاء .KEY ()، ولكن هذا يبدو مهذرا.
items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
keyArray.append(item.key())
المحلول
بالتأكيد - يمكنك جلب النتائج عن طريق الاتصال .fetch (عدد) على كائن GQLQUERY. هذه هي الطريقة الموصى بها، في الواقع - يؤدي تكرار الجدوى إلى دفعات، وبالتالي فهي أقل كفاءة.
لا تنتمي إلى StackOverflow