0

私は次の構造を持っています:

structure = {
    'firstname': basestring,
    'lastname': basestring,
    'genres': [basestring],
    'address': [
        {'number': basestring, 'street': basestring, 'town': basestring}
    ],
    'phone': [
        {'type': basestring, 'number': basestring}
    ],
}

そして、カーソルを反復処理して python dict を返す小さなヘルパー メソッドがあります。

def to_django_context(cursor):
    records = []
    for r in cursor:
        records.append(r.to_json_type())
    return records

次のように別のネストされたフィールドを構造に追加するまで、これは正常に機能します。

structure = {
    'firstname': basestring,
    'lastname': basestring,
    'genres': [basestring],
    'address': [
        {'number': basestring, 'street': basestring, 'town': basestring}
    ],
    'phone': [
        {'type': basestring, 'number': basestring}
    ],
    'title': [{'TEST_FIELD': basestring}],
}

その時点で、カーソル イテレータは KeyError で失敗します。コレクション内のすべてのドキュメントを削除すると、正常に動作します。これは、ドキュメント構造オブジェクトを変更するたびに、基本的にコレクションを削除する必要があるということですか?

乾杯、F

4

0 に答える 0