Zbudowałem aplikację appengine (python), która musi konwertować istniejące jednostki datastore w wartość całkowitą (100), aby wartość zmiennoprzecinkowa (100,00) dla problemu konwersji waluty. Jak to działa w odpowiedni sposób? Ponieważ moje zapytanie zwraca błąd, gdy po prostu zmienić typ właściwości w moim modelu.Zmiana IntegerProperty na FloatProperty istniejącego AppEngine DataStore
Old Model:
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)
New Model:
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)
muszę właściwą drogę do zmiany tego typu nieruchomości magazyn danych bez zmiany (usuwanie starych i dodać nowy) istniejące dane . Ponieważ jest to klucz używany w wielu innych tabelach/modelach.
Dzięki.
Jeszcze raz dziękuję Nick, biorąc pod uwagę liczbę całkowitą + centy dla tabeli walut. –
@Ivan Nie miałem na myśli dwóch liczb całkowitych - choć to też by działało - po prostu chciałem zapisać całkowitą liczbę centów w jednym polu. Np. 10,23 USD jest przechowywane jako 1023. –