1

私は基本的なクラスを持っています:

class Post (db.Model):
    title = db.StringProperty(required = True)
    text = db.TextProperty(required = True)
    created = db.DateTimeProperty(auto_now_add = True).

new_record = Post(title = "TESSSST", text = "TESSST") 
new_record.put() #works!

インスタンスが作成され、データが書き込まれます。しかし、「required=true」プロパティを削除するとすぐに、データストアに保存されなくなります。

class Post (db.Model):
    title = db.StringProperty(required = True)
    text = db.TextProperty  
    created = db.DateTimeProperty(auto_now_add = True)

new_record = Post(title = "TESSSST")
new_record.text = "Burn conctructor!"
new_record.put() # text property won't be saved

役立つかどうかはわかりませんがprint new_record.__dict__、コンストラクターによって割り当てられたすべての値を介してプロパティをチェックすると、「_」プレフィックス (「_title」など) があり、その他にはありません (「テキスト」のみ)。

したがって、問題は、「必要のない (コンストラクターによって初期化されていない) プロパティをデータストアに保存することは可能ですか?」ということです。gae docs で答えが見つかりませんでした。

4

1 に答える 1

1

しかし、単に削除したのではなく、フィールドをインスタンス化するrequired=Trueブラケットを削除しました。()そのはず

text = db.TextProperty()
于 2012-09-05T08:43:48.707 に答える