Vor 1.2.2 konnten Sie Abfragen nach beliebigen Eigenschaftstypen filtern, auch nach Text und Blob. Sie haben nur leere Listen zurückgegeben, aber es hat funktioniert. In Version 1.2.2 wurde das Attribut indexed
für Eigenschaften eingeführt, mit dem Sie die Indizierung ausgewählter Eigenschaften deaktivieren können [1]. Seitdem muss die Eigenschaft, für die Sie eine Abfrage durchführen möchten, indiziert werden oder eine Ausnahme auslösen.
Wir wissen, dass Text- und Blob-Eigenschaften nicht indiziert werden können. Wenn Sie nichts anderes ändern, würden Abfragen für diese Eigenschaften Ausnahmen von 1.2.2 auslösen (was sie vorher nicht getan haben). Um keine Regression einzuführen und bestehende Apps zu unterbrechen, wurde die Zeile kwds['indexed'] = True
zur Klasse UnindexedProperty
hinzugefügt.
Wenn wir die Kontrolle über den gesamten abhängigen Code hätten, wäre es eine sauberere Lösung gewesen, eine Ausnahme auszulösen. Aber im Hinblick darauf, bestehende Apps nicht zu zerstören, wurde beschlossen, sie zu patchen.
Sie können es selbst ausprobieren, indem Sie kwds['indexed'] = True
in kwds['indexed'] = False
ändern und dieses Snippet ausführen:
[1] Ссылка
Tags und Links python google-app-engine