4

ウィジェットと呼ばれるdbexpandoクラスがあります。

json文字列を渡して、それをdictに変換してから、データストアに追加しています。

私の質問は、動的フィールドを作成するためにdictをループする方法です。

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

これにより、dictのk値とは反対に、フィールド名として「k」がレンダリングされます。

4

2 に答える 2

4

構文は、オブジェクトwidget.kの属性を参照します。設定する属性を動的に選択するには、組み込みのメソッドを使用します。kwidgetsetattr

setattr(widget, k, v)

このように属性を動的に設定すると、その特定のエンティティにフィールドが作成されます。

于 2010-11-12T01:06:09.347 に答える
-3

試す:

for k, v in fields.items()
于 2010-11-12T01:06:12.513 に答える