Mmm, `SlugChoiceField` uses a dict in the format `{slug: object}`. Behind the scenes it accepts both slugs and ids as incoming data), converts to ids when storing in the db, and outputs slugs for serialization. Isn't that what you want here ? We are using it in collections stuff with `choices_dict=mkt.regions.REGIONS_DICT`.