1

私はdb.modelを使用する古いgaeアプリを持っています。私はndb.modelに移行する必要があることを理解しています。簡単な方法がありますか、あるいは私は多くの変更を加えなければなりませんか?db.modelからndb.modelへの移行方法は?

私のコードはかなり大きく、私はインデックスと検索をビルドするために使用するdb.modelという古いモデルを持っています。古いモデルを維持して新しいndbモデルを作成するか、古いモデルを変更してください。

モデル内の変数のいくつかは、あなたが同じバイナリでDBとNDBコードを混在させることができるようこれは、特に複雑であってはならない、とインクリメンタルに行うことができます

cities = db.ListProperty(db.Key) #ndb.KeyProperty(repeated=True) 
regions = db.ListProperty(db.Key) #ndb.KeyProperty(repeated=True) 
blobs = db.ListProperty(db.BlobKey) #ndb.BlobProperty(repeated=True) 
primary_image = blobstore.BlobReferenceProperty() 
usr = db.ReferenceProperty() # ndb_model.KeyProperty() 
hasimages = db.BooleanProperty(default=False, 
           verbose_name='has_images') 
userID = db.StringProperty(verbose_name='User ID') 
integer_price = db.IntegerProperty() 
ip = ndb.StringProperty(verbose_name='ip') 
ipcountry = db.StringProperty(indexed=False, verbose_name='origin') 
tags = db.ListProperty(db.Category) 
category = db.CategoryProperty(verbose_name='Category') 
title = db.StringProperty(verbose_name='title') # required 
user = db.UserProperty(verbose_name='userid') 
im = db.IMProperty(verbose_name='nickname') # optional, xmpp 
city = db.StringProperty() # postaladdress should work instead 
region = db.StringProperty() # postaladdress should work instead 
url = db.StringProperty(verbose_name='url') 
geopt = db.GeoPtProperty(verbose_name='geopt') 
text = db.TextProperty(verbose_name='text') 

答えて

1

です。 DB to NDB Client Library Migrationを参照してください。

+0

私はそれを徐々に行っています。私のモデルはかなり複雑で、私がテストしなければならない参照プロパティを使用します。答えをありがとう。 –

関連する問題