def METHOD_NAME(self, form_data):
    qs = self.organizer.customers.prefetch_related('provider')
    headers = [
        _('Customer ID'),
        _('SSO provider'),
        _('External identifier'),
        _('E-mail'),
        _('Phone number'),
        _('Full name'),
    ]
    name_scheme = PERSON_NAME_SCHEMES[self.organizer.settings.name_scheme]
    if name_scheme and len(name_scheme['fields']) > 1:
        for k, label, w in name_scheme['fields']:
            headers.append(_('Name') + ': ' + str(label))
    headers += [
        _('Account active'),
        _('Verified email address'),
        _('Last login'),
        _('Registration date'),
        _('Language'),
        _('Notes'),
    ]
    yield headers
    tz = get_current_timezone()
    for obj in qs:
        row = [
            obj.identifier,
            obj.provider.name if obj.provider else None,
            obj.external_identifier,
            obj.email or '',
            obj.phone or '',
            obj.name,
        ]
        if name_scheme and len(name_scheme['fields']) > 1:
            for k, label, w in name_scheme['fields']:
                row.append(obj.name_parts.get(k, ''))
        row += [
            _('Yes') if obj.is_active else _('No'),
            _('Yes') if obj.is_verified else _('No'),
            obj.last_login.astimezone(tz).date().strftime('%Y-%m-%d') if obj.last_login else '',
            obj.date_joined.astimezone(tz).date().strftime('%Y-%m-%d') if obj.date_joined else '',
            obj.get_locale_display(),
            obj.notes or '',
        ]
        yield row