Removing all() in __iter__() prevents a duplicate query when choices are cast to a list and there's a prefetch_related().