studylog/北の雲

chainer/python/nlp

mongoengineのFieldDoesNotExist

mongoengineがフィールド定義されていないデータが入っていたらFieldDoesNotExistを吐くようになった?
以前は多分こういう挙動じゃなかったと思うので0.9からなんだろうか。
こういう話も。

github.com

時間無くて0.8以前で試せなかったので不正確な情報だけど一応メモ。

(追記)

class Entry(Document):
    title = StringField()

こういうドキュメント定義してるデータに
urlやdatetimeと未定義のフィールドが入ってると0.9以降はFieldDoesNotExistが出るようになったらしい。0.10でも確認済み。めんどくさい…。
回避策としては

class Entry(DynamicDocument):

とすればエラーは出なくなるがパフォーマンス落ちそう。
もっとまともな回避策がありそう。