human
Complete this python program:
def get_edit_form(obj, field_names, data=None, files=None):
assistant
#Here is the Python code you requested.

    """Returns the in-line editing form for editing a single model field.
    """
    from mezzanine.forms import fields
    widget_overrides = {forms.DateField: fields.DATE, forms.DateTimeField: fields.DATE_TIME, forms.EmailField: fields.EMAIL}
    class EditForm(forms.ModelForm, ):
        u'\n                                In-line    editing    form    for    editing    a    single    model    field.\n                                '
        app = forms.CharField(widget=forms.HiddenInput)
        model = forms.CharField(widget=forms.HiddenInput)
        id = forms.CharField(widget=forms.HiddenInput)
        fields = forms.CharField(widget=forms.HiddenInput)
        class Meta:
            model = obj.__class__
            fields = field_names.split(u',')
        def __init__(self, *args, **kwargs):
            super(EditForm, self).__init__(*args, **kwargs)
            self.uuid = str(uuid4())
            for f in self.fields.keys():
                field_class = self.fields[f].__class__
                try:
                    widget = fields.WIDGETS[widget_overrides[field_class]]
                except KeyError:
                    pass
                else:
                    self.fields[f].widget = widget()
                css_class = self.fields[f].widget.attrs.get(u'class', u'')
                css_class += (u'    ' + field_class.__name__.lower())
                self.fields[f].widget.attrs[u'class'] = css_class
                self.fields[f].widget.attrs[u'id'] = (u'%s-%s' % (f, self.uuid))
                if (settings.FORMS_USE_HTML5 and self.fields[f].required):
                    self.fields[f].widget.attrs[u'required'] = u''
    initial = {u'app': obj._meta.app_label, u'id': obj.id, u'fields': field_names, u'model': obj._meta.object_name.lower()}
    return EditForm(instance=obj, initial=initial, data=data, files=files)