Migrando dados ao alterar o tipo de propriedade de um campo NDB

Suponha que eu inicialmente criei um ndb.Model e queria alterar o tipo de propriedade ndb de um campo (por exemplo, IntegerProperty para StringProperty), mas queria converter os dados atuais armazenados naquele campo para que eu não perdesse esses dados. Um método seria simplesmente criar um novo nome de campo e depois migrar os dados com um script, mas existem outras maneiras mais convenientes de realizar isso?

Por exemplo, suponha que eu tenha o seguinte modelo:

class Car(ndb.Model):
    name = ndb.StringProperty()
    production_year = ndb.IntegerProperty()

E eu armazenei uma instância da entidade:

c = new Car()
c.name = "Porsche"
c.production_year = 2013 

E queria mudar production_year para um ndb.StringProperty () sem "perder" o valor que eu configurei (ele ainda existiria, mas não seria recuperável). Se eu apenas alterar production_year para uma instância de ndb.StringProperty (), o valor do campo não relatará um valor que faça sentido, pois o tipo não corresponde.

Então, se eu mudei o modelo para:

class Car(ndb.Model):
    name = ndb.StringProperty()
    production_year = ndb.StringProperty()

A tentativa de recuperar o campo com a notação de pontos resultaria em um valor Nenhum. Alguém se depara com essa situação e você poderia explicar o que fez para resolvê-la? Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion