1
0
mirror of https://github.com/django/django.git synced 2025-07-04 09:49:12 +00:00

newforms-admin: Exposed orderable and deletable arguments in inline_formset.

git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@6030 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2007-08-31 05:53:47 +00:00
parent 7405446b2e
commit 2db132ebb7

View File

@ -15,7 +15,8 @@ from widgets import Select, SelectMultiple, HiddenInput, MultipleHiddenInput
__all__ = (
'save_instance', 'form_for_model', 'form_for_instance', 'form_for_fields',
'ModelChoiceField', 'ModelMultipleChoiceField', 'inline_formset'
'ModelChoiceField', 'ModelMultipleChoiceField', 'formset_for_model',
'inline_formset'
)
def save_instance(form, instance, fields=None, fail_message='saved', commit=True):
@ -304,7 +305,7 @@ class InlineFormset(BaseModelFormSet):
new_obj = self.model(**kwargs)
return save_instance(form, new_obj, commit=commit)
def inline_formset(parent_model, model, fk_name=None, fields=None, extra=3, formfield_callback=lambda f: f.formfield()):
def inline_formset(parent_model, model, fk_name=None, fields=None, extra=3, orderable=False, deletable=True, formfield_callback=lambda f: f.formfield()):
"""
Returns an ``InlineFormset`` for the given kwargs.
@ -323,7 +324,10 @@ def inline_formset(parent_model, model, fk_name=None, fields=None, extra=3, form
else:
raise Exception("%s has more than 1 ForeignKey to %s" % (model, parent_model))
# let the formset handle object deletion by default
FormSet = formset_for_model(model, formset=InlineFormset, fields=fields, formfield_callback=formfield_callback, extra=extra, deletable=True)
FormSet = formset_for_model(model, formset=InlineFormset, fields=fields,
formfield_callback=formfield_callback,
extra=extra, orderable=orderable,
deletable=deletable)
# HACK: remove the ForeignKey to the parent from every form
# This should be done a line above before we pass 'fields' to formset_for_model
# an 'omit' argument would be very handy here