Serialize/unserialize at get_prep_value()/to_python(), not at __init__()/__setitem__()/__getitem__()