ควบคุมการจัดทำดัชนีสำหรับคุณสมบัติของโมเดล ndb.Expando

ฉันมี ndb.Model ที่มีโมเดล ndb.Expando เป็นคุณสมบัติที่มีโครงสร้าง และฉันต้องการควบคุมการจัดทำดัชนี แต่ฉันไม่พบสิ่งใดในเอกสารประกอบเกี่ยวกับเรื่องนี้

class MyModel2(ndb.Expando):
    pass

class MyModel(ndb.Model):
    sub_entity = ndb.StructuredProperty(MyModel2)

เอกสารชิ้นเดียวที่ฉันพบมีดังต่อไปนี้:

คุณสามารถระบุตัวเลือกคุณสมบัติปกติสำหรับคุณสมบัติที่มีโครงสร้าง (ยกเว้นที่จัดทำดัชนี)

ฉันคิดว่านี่เป็นเพราะควรระบุการจัดทำดัชนีตามจริงตามคุณสมบัติในโมเดลแบบฝัง อย่างไรก็ตาม ยังไม่ชัดเจนว่าจะเปิดหรือปิดใช้งานการสร้างดัชนีในคุณสมบัติของโมเดล Expando ได้อย่างไร


person Noah Watkins    schedule 15.05.2018    source แหล่งที่มา


คำตอบ (1)


คุณสามารถใช้ออบเจ็กต์ _properties เพื่อตั้งค่าว่าควรจัดทำดัชนีฟิลด์หรือไม่ เช่น.

a = MyModel2()
a.value = '3'
a._properties['value']._indexed = False

คุณสามารถดูเอกสารได้ที่ _properties ซึ่งมีรายละเอียดเพิ่มเติม

person Jim Morrison    schedule 16.05.2018
comment
นี่เป็นสิ่งที่ดีมาก ฉันกำลังดูเอกสารประกอบนั้น และไม่มีตัวอย่างใดที่รวมคุณสมบัติการตั้งค่า มีแต่ดูเท่านั้น คุณมีการอ้างอิงถึงการตั้งค่าอย่างชัดเจนหรือไม่ - person Noah Watkins; 16.05.2018
comment
เย็น. ฉันอาจเจาะลึก Python SDK เพื่อดูว่าฉันเห็นสิ่งใดหรือไม่ แต่นี่ก็ดีพอสำหรับฉัน ขอบคุณ. - person Noah Watkins; 17.05.2018