Frage

Ich habe eine db expando Klasse Widget genannt.

Ich bin in einem json String übergeben und in einem dict Umwandlung und das Hinzufügen sie dann auf den Datenspeicher.

Meine Frage ist, wie kann ich Schleife durch meine dict dynamische Felder zu erstellen.

widget = Widget.get_by_key_name(key_name)
widget.name = self.request.get('wname')
fields = simplejson.loads(self.request.get('wcontents'))
for k,v in fields.iteritems():
  widget.k = v

Das macht „k“, wie mein Feldnamen wie in der dict auf den k-Wert entgegenzusetzen.

War es hilfreich?

Lösung

Die Syntax widget.k verweist auf das Attribut k auf Objekt widget. Um dynamisch wählen, die Sie setzen das Attribut, das eingebaute in setattr Methode:

setattr(widget, k, v)

Dynamisch ein Attribut wie diese Einstellung wird das Feld auf dieser bestimmten Entität erstellen.

Andere Tipps

Versuchen Sie:

for k, v in fields.items()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top