'Generate a suitable class name for the concrete field class. This is not
completely reliable, as not all field class names are of the format
<Type>Field.
ex::
BaseCSVFilter._field_class_name(DateTimeField, \'year__in\')
returns \'DateTimeYearInField\''

@classmethod
def _field_class_name(cls, field_class, lookup_expr):

    type_name = field_class.__name__
    if type_name.endswith(u'Field'):
        type_name = type_name[:(-5)]
    parts = lookup_expr.split(LOOKUP_SEP)
    expression_name = u''.join((p.capitalize() for p in parts))
    return str((u'%s%sField' % (type_name, expression_name)))
