When importing the database from csv, it appears that it does not
update the reference id's in list:reference.

It looks like to me that only references are mapped to their new
values and list:reference is just grabbed as a string.

In dal.py, within import_from_csv, the fix function seems to just
convert all lists to string or int and never runs the items within
list:reference through the id map.

def fix(field, value, id_map):
            if value == null:
                value = None
            elif field.type.startswith('list:string'):
                value = bar_decode_string(value)
            elif field.type.startswith('list:'):
                value = bar_decode_integer(value)
            elif id_map and field.type.startswith('reference'):
                try:
                    value = id_map[field.type[9:].strip()][value]
                except KeyError:
                    pass
            return (field.name, value)

I believe a fix would be to check for list:reference and then pass it
through bar_code_string and then for each item map its values, but I
have been unsuccessful so far.

Reply via email to