Gibt es einen einfachen Weg, um die Eltern eines Datensatzes in Google App Engine datstore zu ändern

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

Frage

Da

class Category(db.Model):
   name = db.Stringproperty()

Sagen, dass ich eine verschachtelte Hierarchie

-root
 |-a
 | |-b
 |   |-c
 |-x
   |-y
     |-z1
     |-z2

Dabei gilt a der Eltern root ist, b der Eltern ist a, c der Eltern ist b etc.

Gibt es eine einfache Art und Weise, durch die ich Knoten y von x bewegen konnte so b dass z1 und z2 weiterhin Kinder von y bleiben:

-root
 |-a
 | |-b
 |   |-c
 |   |-y
 |     |-z1
 |     |-z2
 |-x

Das würde bedeuten, ich einfach y die Eltern ändern.

Allerdings, wenn dies nicht möglich ist, als es erfordern würde,

  1. einen neuen Rekord ny = Category(parent=b, name=y) Erstellen und
  2. rekursiv für jedes Kind von y einen neuen Datensatz erstellen, die als Eltern und
  3. ny hat
  4. als Löschen y und seine Kinder.
War es hilfreich?

Lösung

Die übergeordnete Beziehung wird in einem Unternehmen Schlüssel verschlüsselt, und der Schlüssel ist unveränderlich einmal erstellt, also nein, man kann nicht den Schlüssel eines bestehendes Unternehmens ändern. Um dies zu tun, müssen Sie alle relevanten Elemente mit neuen Schlüsseln wieder einsetzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top