Добавление свойства, предоставленного пользователем (во время выполнения), к экземпляру класса Expando в движке Google?

Создавая модели хранилища данных, которые наследуются от класса Expando, я могу сделать мои модели-сущности / экземпляры динамическими. Отлично! Но я хочу, чтобы имена этих динамических свойств определялись во время выполнения. Это возможно?

Например,

class ExpandoTest (db.Expando): prop1 = db.StringProperty() prop2 = db.StringProperty() entity_one = ExpandoTest() entity_two = ExpandoTest() # what I do not want entity_one.prop3 = 'Demo of dynamic property' # what I want entity_two.<property_name_as_entered_by_user_at_runtime> = 'This property name was entered by the user, Great!!' 

Это возможно? Если да, как это сделать? Я уже пробовал некоторые забавные способы сделать это, но не удалось: P

Заранее спасибо.

  • Google App Engine appcfg.py data_upload Ошибка аутентификации
  • GAE: Как долго ждать возможной согласованности?
  • Получить IP-адрес в Google App Engine + Python
  • IOError: файл недоступен в Google AppEngine 1.6.1
  • Загрузка файлов в хранилище облачных хранилищ Google из приложения appengine
  • Как я могу тестировать ответы из приложения Webapp WSGI в Google App Engine?
  • Как вы издеваетесь над сервисом пользователя в App Engine?
  • Разверните webapp на GAE, затем выполните изменения в Интернете с консоли GAE
  • 2 Solutions collect form web for “Добавление свойства, предоставленного пользователем (во время выполнения), к экземпляру класса Expando в движке Google?”

    Обычно мы используем функцию setattr напрямую.

     setattr( entity_two, 'some_variable', some_value ) 

    Просто нашел решение своего вопроса. Это было действительно просто, но, поскольку я python noob, я поставил вопрос, который вы видите выше.

    Для образца кода, который я использовал, это то, что нужно сделать:

     entity_two.__setattr(some_variable, some_value) #where some_variable is populated by user at runtime :) 
    Interesting Posts

    self.instance в Django ModelForm

    Вырезание одного изображения на несколько изображений с использованием библиотеки изображений Python

    Как создать окно сообщения с помощью tkinter?

    Как я могу вычесть или добавить 100 лет в поле datetime в базе данных в Django?

    Разделение вывода ps с помощью Python

    Получение фактического используемого (выделенного) дискового пространства экземпляра в vmware с pyvmomi

    Нет модуля с именем http_client error при попытке запустить django с django rest framework

    Создание переменной Pandas с использованием нескольких If-else

    Почему нет класса Timer в многопроцессорном модуле Python?

    виртуальная обработка файлов в python?

    Как использовать подпроцессы, чтобы заставить python выпускать память?

    Запись списка в файл с помощью Python

    Как сигнализировать слоты в графическом интерфейсе из другого процесса?

    Django 1.7 – makemigrations не обнаруживает изменений

    AppEngine Создание моделей ndb json serializable

    Python - лучший язык программирования в мире.