辞書とエンティティを反復処理しようとしています。dictキーがエンティティプロパティと一致する場合、キーの値をプロパティの値に割り当てたいと思います。
私のモデルコードは次のとおりです。
class myModel(db.Model):
Property1 = db.IntegerProperty()
Property2 = db.StringProperty(required=True,choices=set(["this", "that", "other"]))
Property3 = db.StringProperty()
私の口述は:
{u'Property1': u'1234', u'Property2': u'trouble', u'Property3': u'2321'}
両方のオブジェクトを反復処理するために使用しているコードは機能しますが、モデルでの検証をスキップしています。明示的に割り当てるmyModel.Property2 = 'trouble'
と、BadValueErrorが発生します。ただし、以下のコードではそうではありません。
for le_attr, le_value in myModel.__dict__.iteritems():
for key, value in Data[0].items():
if ('_' + str(key)) == (str(le_attr)):
myModel.__dict__[le_attr]= value
辞書にキーがいくつあっても、プロパティに一致するキーだけが割り当てられ、他のキーはすべて無視されると思います。上記のコードで、これは機能します。
しかし、これを実行し、検証を実行する方法はありますか?