Вопрос

У меня есть класс DB Excedo называется виджетом.

Я прохожу в json string и преобразуя ее в 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

Это отображает «k» в качестве имени моего поля, как противодействует значению k в Dict.

Это было полезно?

Решение

Синтаксис widget.k Ссылки на атрибут k на объекте widget. Отказ К динамично Выберите, какой атрибут вы устанавливаете, используйте встроенный setattr Метод:

setattr(widget, k, v)

Динамически устанавливает такой атрибут, как это создаст поле на этом конкретном объекте.

Другие советы

Пытаться:

for k, v in fields.items()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top