Учитывая конфигурацию, состоящую из нескольких значений, например displayName и startDate, которые являются постоянными большую часть времени, но также должны быть доступны для редактирования через дополнительную страницу приложения Google, каким будет лучший способ сохранить и изменить эту конфигурацию?Как сохранить и обновить конфигурацию в Google App Engine (Python)
На данный момент у меня есть что-то вроде этого:
class Configuration(ndb.Model):
displayName = ndb.StringProperty()
starting = ndb.DateTimeProperty()
и модифицировать его так:
allConfigurations = Configuration.query().fetch(1)
current = None
try:
current = allConfigurations[0]
except:
current = Configuration()
current.displayName = self.request.get('newDisplayName')
current.starting = self.request.get('newStartingDate')
current.put()
В основном это возвращает все настройки, ограничивает результат только один (или создает новый config, если хранилище данных пуст), изменяет значения и записывает их обратно в хранилище данных. Но для меня это кажется сложным, чтобы быть предпочтительным способом.
Редактировать: В другой среде я, возможно, просто использовал файл .ini для этого. Я в основном ищу эквивалент движка Google.
Он не извлекает все конфигурации. Только один. –
Из того, что я понимаю, query() извлекает все Конфигурации, fetch (1) ограничивает набор результатов равным 1. Но это все еще список. – DaClown
Почему бы не использовать 'get()' вместо этого? какой смысл выбирать случайную конфигурацию, а затем, независимо от того, что является результатом этого блока «try-except», перезапишите значения? что это 'allValues'? –