fix DocumentField
add a test for DictField.construct_nested_documents()