Kontrol pengindeksan untuk properti model ndb.Expando

Saya memiliki ndb.Model yang berisi model ndb.Expando sebagai properti terstruktur, dan saya ingin dapat mengontrol pengindeksan, tetapi saya tidak dapat menemukan apa pun di dokumentasi tentangnya.

class MyModel2(ndb.Expando):
    pass

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

Satu-satunya dokumentasi yang dapat saya temukan adalah sebagai berikut:

Anda dapat menentukan opsi properti biasa untuk properti terstruktur (kecuali yang diindeks)

Saya berasumsi ini karena pengindeksan sebenarnya harus ditentukan berdasarkan per properti dalam model yang disematkan. Namun, tidak jelas cara mengaktifkan atau menonaktifkan pengindeksan pada properti model Expando.


person Noah Watkins    schedule 15.05.2018    source sumber


Jawaban (1)


Anda dapat menggunakan objek _properties untuk mengatur apakah suatu bidang harus diindeks atau tidak. Misalnya.

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

Anda dapat menemukan dokumen di _properties untuk mengetahui detail selengkapnya.

person Jim Morrison    schedule 16.05.2018
comment
Ini bagus. Saya sedang melihat-lihat dokumentasi itu dan tidak ada contoh yang menyertakan properti pengaturan, hanya melihatnya. Apakah Anda memiliki referensi untuk mengaturnya secara eksplisit. - person Noah Watkins; 16.05.2018
comment
Dingin. Saya mungkin menggali ke dalam Python SDK untuk melihat apakah saya dapat melihat sesuatu, tetapi ini cukup baik bagi saya. Terima kasih. - person Noah Watkins; 17.05.2018