Fixed #23112 -- Field.get_choices don't with empty iterable / refactor list_choices