MongoEngine Document Object, das mit from_json erstellt wurde, wird nicht gespeichert

8

Ich versuche ein Dokumentobjekt mit der Methode from_json zu erstellen. object.save () gibt keinen Fehler aus, aber das Dokument wird nicht in mongo eingefügt.

Wenn ich andererseits das Objekt durch Zuweisen von Werten zu jedem der Felder mache, funktioniert es gut.

Ich kann den Grund dafür nicht finden. Unten ist der Code für beide Fälle.

%Vor%     
BabbarTushar 12.02.2014, 15:15
quelle

3 Antworten

12

Ein Mongoengine-Dokumentobjekt kann mit **kwargs initialisiert werden. Auf diese Weise können wir die Funktionalität from_json auf folgende Weise implementieren: -

%Vor%

Das hat für mich funktioniert.

    
BabbarTushar 15.03.2014, 11:21
quelle
2

from_json() konvertiert in JSON-Daten eine nicht gespeicherte Dokumentinstanz. Speichern von ungespeicherten Dokumenten verwenden Sie den Parameter force_insert=True .

%Vor%

Aber, deinen Code kann ich.

Ich kann hier nicht programmieren. (Ich brauche Vorrichtungsdaten des Komponententests.)

Ich Umgebung Django 1.6.5 und Mongoengine 0.8.7

%Vor%

force_insert=True versucht nur, ein neues Dokument zu erstellen.

Jedes Mal, wenn force_insert=True verwendet wird, wird ein neues Dokument erstellt.

Verwenden Sie force_insert=False ist ein Dokument in der Datenbank.

    
bindi 19.07.2014 15:53
quelle
-1

Sie weisen u2 dem Ergebnis von from_json() zu und verlieren den Verweis auf das ursprüngliche Benutzerobjekt.

Ändern Sie u2 = u2.from_json(... in u2.from_json(...

    
Rishi 12.02.2014 15:27
quelle