This is quite old but still relevant: http://www.b-list.org/weblog/2008/nov/09/dynamic-forms/
Basically, create your form and edit the widget with an __init__ like this: class FlightForm(forms.ModelForm): def __init__(self, profile, *args, **kwargs): super(FlightForm, self).__init__(*args, **kwargs) if profile.text_plane: self.fields[name].widget = YourOtherWidget() Peter -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.