محرك جوجل التطبيق استعلام (لا الفلترة) للأطفال من كيان

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

سؤال

هل الأطفال كيان متاح في استعلام؟

ونظرا:

class Factory(db.Model):
    """ Parent-kind """
    name = db.StringProperty()

class Product(db.Model):
    """ Child kind, use Product(parent=factory) to make """
    @property
    def factory(self):
        return self.parent()
    serial = db.IntegerProperty()
جعلت

وافترض 500 مصنع 500 منتج لما مجموعه 250،000 المنتجات. هل هناك طريقة لتشكيل استعلام كفاءة في استخدام الموارد التي سيعود فقط 500 المنتجات المصنوعة من قبل مصنع واحد معين؟ منهج السلف هو مرشح، وذلك باستخدام مثل سوف Product.all (). الجد (factory_1) تتطلب الدعوات المتكررة إلى مخزن البيانات.

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

المحلول

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

ونقطة واحدة طفيفة على الرغم من: يمكن 500 الكيانات مع نفس الأم يضر التدرجية، ومنذ يكتب هي متسلسلة لأعضاء جماعة الكيان. إذا كنت ترغب فقط في تتبع المصنع الذي جعل المنتج، واستخدام ReferenceProperty:

class Product(db.Model):
   factory = db.ReferenceProperty(Factory, collection_name="products")

وبعد ذلك يمكنك الحصول على جميع المنتجات باستخدام:

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