Измените IntegerProperty на FloatProperty в существующем хранилище данных AppEngine

Я создал приложение appengine (python), которое должно преобразовывать существующие объекты хранилища данных из целочисленного значения (100) в значение с плавающей запятой (100,00) для решения проблемы конвертации валюты. Как правильно это сделать? Поскольку мой запрос возвращает ошибку, когда я просто меняю тип свойства в своей модели.

Старая модель:

class Learn(search.SearchableModel):
    pid = db.ReferenceProperty(Product, collection_name='picks')
    title = db.StringProperty()
    description = db.TextProperty()
    order = db.IntegerProperty()
    cost = db.IntegerProperty(default=0)
    cost1 = db.IntegerProperty(default=0)

Новая модель:

class Learn(search.SearchableModel):
    pid = db.ReferenceProperty(Product, collection_name='picks')
    title = db.StringProperty()
    description = db.TextProperty()
    order = db.IntegerProperty()
    cost = db.FloatProperty(default=0.000)
    cost1 = db.FloatProperty(default=0.000)

Мне нужен правильный способ изменить этот тип свойства хранилища данных без изменения (удалить старый и добавить новый) существующие данные. Поскольку это ключ, используемый во многих других таблицах / моделях.

Спасибо.

5
задан Ivan Slaughter 20 January 2011 в 20:09
поделиться