2015-06-01 20 views
5

sto usando mongoengine 0.9.0Dizionario diventa BaseList in MongoEngine dopo assegnazione

class EntityChange(Document): 
    ... 
    old_data = DictField() 
    new_data = DictField() 

voglio salvare dict gli oggetti in old_data e new_data.

Perché i campi diventano BaseList dopo l'assegnazione?

data = {u'int_id': 100500, u'_cls': 'BuildingKind', ...} 
instance = EntityChange() 
instance.new_data = data 
# after that 
# isinstance(instance, BaseList) is True 
# isinstance(instance, BaseDict) is False 
# instance.new_data == ['int_id', 'id', ...] is True. why? 
+0

Potete postare l'output di 'isinstance (instance.new_data, BaseDict)' e 'type (instance.new_data)', e l'output di 'instance.new_data' (omettere il confronto) –

+0

@NilsWerner, Sure . È per 0.9.0 'isinstance (instance.new_data, BaseDict): False type (instance.new_data): instance.new_data: ['id', 'ent_id' , 'int_id', 'type', '_cls'] ' –

+0

Non riesco a riprodurre questo, puoi creare am [MCVE] (https://stackoverflow.com/help/mcve)? –

risposta

Problemi correlati