1
0
mirror of https://github.com/django/django.git synced 2025-07-04 17:59:13 +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__ = ( __all__ = (
'save_instance', 'form_for_model', 'form_for_instance', 'form_for_fields', '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): def save_instance(form, instance, fields=None, fail_message='saved', commit=True):
@ -304,7 +305,7 @@ class InlineFormset(BaseModelFormSet):
new_obj = self.model(**kwargs) new_obj = self.model(**kwargs)
return save_instance(form, new_obj, commit=commit) 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. 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: else:
raise Exception("%s has more than 1 ForeignKey to %s" % (model, parent_model)) raise Exception("%s has more than 1 ForeignKey to %s" % (model, parent_model))
# let the formset handle object deletion by default # 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 # 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 # This should be done a line above before we pass 'fields' to formset_for_model
# an 'omit' argument would be very handy here # an 'omit' argument would be very handy here