У меня изначально установлена следующая модель
class Obj (db.Model):
name = db.StringProperty(required=True)
rating = db.IntegerProperty(default=0, required=False)
Существуют сущности, уже созданные выше, например:
name = "test1", rating = "3"
Итак, Мне нужно поменять тип рейтинга на float .Я пытался добиться этого с помощью db.Expando
class Obj (db.Expando):
name = db.StringProperty(required=True)
rating = db.FloatProperty(default=0, required=False)
Прежде чем я смог получить экземпляр модели Obj, чтобы обновить его до значения с плавающей запятой, я уже получил следующую ошибку:
Рейтинг свойств должен быть плавающим
Сначала я получил эту ошибку, потому что я не использовал db.Expando.Однако после использования db.Expando я предположил, что эта ошибка не должна появиться?Поскольку он может динамически изменять значение, вводить и т. Д., Когда я читаю статьи.
Будучи новичком в db.Expando, мне нужна помощь.Кто-нибудь знает, что случилось?
РЕДАКТИРОВАТЬ
for o in Obj.all():
a = []
if o.rating:
o.rating = float(str(restaurant.rating))
else:
o.rating = float(0)
a.append(restaurant)
db.put(a)
После кода выше, та же ошибка выскакивает
Свойстворейтинг должен быть плавающим
РЕШЕНИЕ Временно удалил оценку из определения модели и сначала обновил значения до значения с плавающей точкой, а затем добавил новое определение рейтинга с помощью db.FloatProperty