I'm using inlineformset_factory in one of my views, which is working  
great, except now I'd like to change the widget for one of the fields  
(in case anyone's curious, an AdminFileWidget). For clarification this  
is my own view and has nothing to do with contrib/admin.

I see that inlineformset_factory has something for fields, but I'm not  
sure what to pass to it to override a field's widget:

# django/forms/models.py
> def inlineformset_factory(parent_model, model, form=ModelForm,
>                           formset=BaseInlineFormSet, fk_name=None,
>                           fields=None, exclude=None,
>                           extra=3, can_order=False, can_delete=True,  
> max_num=0,
>                           formfield_callback=lambda f: f.formfield()):

 From my app:

# models.py
> class Version(models.Model):
>       number = models.FloatField(_("Number"))
>
> class File(models.Model):
>       file       = models.FileField(_("File"), upload_to="materials/file/ 
> %Y/%m/%d") # I want to eventually make this an AdminFileWidget
>       version = models.ForeignKey(Version)

# forms.py
> from models import Version, File
> from django.forms.models import inlineformset_factory
> from django.contrib.admin.widgets import AdminFileWidget # Not sure  
> how to get this into FileFormSet
>
> FileFormSet = inlineformset_factory(Version, File, extra=1)

# views.py
> from forms import FileFormSet
> from django.shortcuts import render_to_response
> from django.template import RequestContext
>
> def version(request, curriculum, version):
>       response = {}
>       if request.method == 'POST':
>               response['fileformset']    = FileFormSet(request.POST,  
> request.FILES, prefix="file", instance=response['version'])
>               if response['fileformset'].is_valid():
>                       response['fileformset'].save()
>       else:
>               response['fileformset']    = FileFormSet(prefix="file",  
> instance=response['version'])
>       return render_to_response('redacted/version.html', response,  
> RequestContext(request))

Any ideas?

-- 
Cortland Klein <cortl...@apple.com> +1 408 506 9791
Web Developer, Media and Technology
Apple Retail Training and Development
1 Infinite Loop, MS 49-SM
Cupertino, CA 95014
http://apple.com/retail/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to