J'ai les 2 modèles ci-dessous NDBune seule référence Google datastore fois dans un autre genre de multiples sorte avec NDB
from endpoints_proto_datastore.ndb import EndpointsModel
class Foo(EndpointsModel):
attr1 = ndb.StringProperty(required=True)
class Bar(EndpointsModel):
attr1 = ndb.KeyProperty('Foo', required=True)
attr2 = ndb.KeyProperty('Foo', required=True)
Comme vous le voyez Bar a quelques références à Foo. Maintenant, quand j'affecte des valeurs à chacune des références, la seconde remplace la première et seulement elle est stockée à la base de données et la partie la plus drôle est que lorsque recherché avec la visionneuse de banque de données dev_appserver, la propriété est sous le nom 'Foo', pas sous le nom de la deuxième propriété, qui a remplacé le premier.
Après insérer ce que j'attends
Bar(key=Key('Bar', xxxxxxxxxxxxxxxx), attr1=Key('Foo', xxxxxxxxxxxxxxxx), attr2=Key('Foo', xxxxxxxxxxxxxxxx)
mais je ne reçois
Bar(key=Key('Bar', xxxxxxxxxxxxxxxxxx), attr2=Key('Foo', xxxxxxxxxxxxxxxx))
Et le spectateur datastore,
Entity Kind Bar
Entity Key xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ID xxxxxxxxxxxxxxxx
Foo (Key) xxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Foo: id=xxxxxxxxxxxxxxxx
Je viens de tester cela et obtenu les mêmes résultats. Aucune idée pourquoi: \ – Kris
@Kris au moins j'ai de la compagnie :) –