JSON-zu-Modell eine Klasse mit Django
Ich versuche, ein JSON-Objekt wie:
{
"username": "clelio",
"name": "Clelio de Paula",
}
auf und wandeln es in:
class User(models.Model):
name = models.CharField(max_length=30)
username = models.CharField(max_length=20)
def jsonToClass(s):
aux = json.dumps(s, self)
self.name = aux['name']
self.id = aux['id']
So, ich habe versucht, die simplejson
und eine Methode namens jsonToClass()
:
>>> import simplejson as json
>>> u1 = User()
>>> u1.jsonToClass(face)
>>> u1.save()
Funktioniert das nicht. Was ist die einfachste Methode, das zu tun, was ich will?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie wahrscheinlich wollen, um zu schauen, Django ' s (de)Serialisierungs-framework. Angesichts JSON wie:
speichern können Sie es wie folgt:
Beachten Sie, dass ich glaube, Sie haben nutzen die Django-serialization-format, um diese Methode verwenden, so müssen Sie möglicherweise passen Sie Ihre JSON entsprechend.
json
- Modul wickeln Sie die Antwort in der äußeren array und Objekt erforderlich von der Serialisierung Modul. Aber das wäre des guten zuviel.deserialized_object
istDeserializedObject
. Wie kann ich umwandeln in ein django-model-Klasse geben. (Davon ausgehen, dass das JSON-Objekt möchte ich Deserialisieren, wird zurückgegeben durch Serialisierung ein model-Objekt)Ich erkannte, dass
ist ein dict () - Objekt.
So, dies ist der einfachste Weg, als ich dachte.
Was ich brauche, um zu lösen, ist nur
das ist es.
self.__dict__.update(aux)
Ist dies einfach wie folgt erreicht:
Check-out django-Dokumentation für details