'Returns choices with a default blank choices included, for use
as SelectField choices for this field.
Analogue of django.db.models.fields.Field.get_choices, provided
initially for utilisation by RelatedFilterSpec.'

def get_choices(self, include_blank=True, blank_choice=BLANK_CHOICE_DASH, limit_to_currently_related=False):

    first_choice = ((include_blank and blank_choice) or [])
    queryset = self.model._default_manager.all()
    if limit_to_currently_related:
        queryset = queryset.complex_filter({('%s__isnull' % self.parent_model._meta.module_name): False})
    lst = [(x._get_pk_val(), smart_unicode(x)) for x in queryset]
    return (first_choice + lst)
