mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
newforms-admin: Removed the leading underscore from _formset_factory. It was missed in [7605].
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7612 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
be810670ff
commit
edf396da59
@ -265,8 +265,8 @@ class BaseFormSet(StrAndUnicode):
|
|||||||
forms = u' '.join([form.as_table() for form in self.forms])
|
forms = u' '.join([form.as_table() for form in self.forms])
|
||||||
return mark_safe(u'\n'.join([unicode(self.management_form), forms]))
|
return mark_safe(u'\n'.join([unicode(self.management_form), forms]))
|
||||||
|
|
||||||
# XXX: This API *will* change. Use at your own risk.
|
def formset_factory(form, formset=BaseFormSet, extra=1, can_order=False,
|
||||||
def _formset_factory(form, formset=BaseFormSet, extra=1, can_order=False, can_delete=False):
|
can_delete=False):
|
||||||
"""Return a FormSet for the given form class."""
|
"""Return a FormSet for the given form class."""
|
||||||
attrs = {'form': form, 'extra': extra, 'can_order': can_order, 'can_delete': can_delete}
|
attrs = {'form': form, 'extra': extra, 'can_order': can_order, 'can_delete': can_delete}
|
||||||
return type(form.__name__ + 'FormSet', (formset,), attrs)
|
return type(form.__name__ + 'FormSet', (formset,), attrs)
|
||||||
|
@ -15,7 +15,7 @@ from forms import BaseForm, get_declared_fields
|
|||||||
from fields import Field, ChoiceField, IntegerField, EMPTY_VALUES
|
from fields import Field, ChoiceField, IntegerField, EMPTY_VALUES
|
||||||
from widgets import Select, SelectMultiple, HiddenInput, MultipleHiddenInput
|
from widgets import Select, SelectMultiple, HiddenInput, MultipleHiddenInput
|
||||||
from widgets import media_property
|
from widgets import media_property
|
||||||
from formsets import BaseFormSet, _formset_factory, DELETION_FIELD_NAME
|
from formsets import BaseFormSet, formset_factory, DELETION_FIELD_NAME
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'ModelForm', 'BaseModelForm', 'model_to_dict', 'fields_for_model',
|
'ModelForm', 'BaseModelForm', 'model_to_dict', 'fields_for_model',
|
||||||
@ -377,7 +377,7 @@ def modelformset_factory(model, form=ModelForm, formfield_callback=lambda f: f.f
|
|||||||
"""
|
"""
|
||||||
form = modelform_factory(model, form=form, fields=fields, exclude=exclude,
|
form = modelform_factory(model, form=form, fields=fields, exclude=exclude,
|
||||||
formfield_callback=formfield_callback)
|
formfield_callback=formfield_callback)
|
||||||
FormSet = _formset_factory(form, formset, extra=extra, can_order=can_order, can_delete=can_delete)
|
FormSet = formset_factory(form, formset, extra=extra, can_order=can_order, can_delete=can_delete)
|
||||||
FormSet.model = model
|
FormSet.model = model
|
||||||
return FormSet
|
return FormSet
|
||||||
|
|
||||||
|
@ -3,16 +3,16 @@ tests = """
|
|||||||
# Basic FormSet creation and usage ############################################
|
# Basic FormSet creation and usage ############################################
|
||||||
|
|
||||||
FormSet allows us to use multiple instance of the same form on 1 page. For now,
|
FormSet allows us to use multiple instance of the same form on 1 page. For now,
|
||||||
the best way to create a FormSet is by using the _formset_factory function.
|
the best way to create a FormSet is by using the formset_factory function.
|
||||||
|
|
||||||
>>> from django.newforms import Form, CharField, IntegerField, ValidationError
|
>>> from django.newforms import Form, CharField, IntegerField, ValidationError
|
||||||
>>> from django.newforms.formsets import _formset_factory, BaseFormSet
|
>>> from django.newforms.formsets import formset_factory, BaseFormSet
|
||||||
|
|
||||||
>>> class Choice(Form):
|
>>> class Choice(Form):
|
||||||
... choice = CharField()
|
... choice = CharField()
|
||||||
... votes = IntegerField()
|
... votes = IntegerField()
|
||||||
|
|
||||||
>>> ChoiceFormSet = _formset_factory(Choice)
|
>>> ChoiceFormSet = formset_factory(Choice)
|
||||||
|
|
||||||
A FormSet constructor takes the same arguments as Form. Let's create a FormSet
|
A FormSet constructor takes the same arguments as Form. Let's create a FormSet
|
||||||
for adding data. By default, it displays 1 blank form. It can display more,
|
for adding data. By default, it displays 1 blank form. It can display more,
|
||||||
@ -146,9 +146,9 @@ False
|
|||||||
# Displaying more than 1 blank form ###########################################
|
# Displaying more than 1 blank form ###########################################
|
||||||
|
|
||||||
We can also display more than 1 empty form at a time. To do so, pass a
|
We can also display more than 1 empty form at a time. To do so, pass a
|
||||||
extra argument to _formset_factory.
|
extra argument to formset_factory.
|
||||||
|
|
||||||
>>> ChoiceFormSet = _formset_factory(Choice, extra=3)
|
>>> ChoiceFormSet = formset_factory(Choice, extra=3)
|
||||||
|
|
||||||
>>> formset = ChoiceFormSet(auto_id=False, prefix='choices')
|
>>> formset = ChoiceFormSet(auto_id=False, prefix='choices')
|
||||||
>>> for form in formset.forms:
|
>>> for form in formset.forms:
|
||||||
@ -242,10 +242,10 @@ data.
|
|||||||
# FormSets with deletion ######################################################
|
# FormSets with deletion ######################################################
|
||||||
|
|
||||||
We can easily add deletion ability to a FormSet with an agrument to
|
We can easily add deletion ability to a FormSet with an agrument to
|
||||||
_formset_factory. This will add a boolean field to each form instance. When
|
formset_factory. This will add a boolean field to each form instance. When
|
||||||
that boolean field is True, the form will be in formset.deleted_forms
|
that boolean field is True, the form will be in formset.deleted_forms
|
||||||
|
|
||||||
>>> ChoiceFormSet = _formset_factory(Choice, can_delete=True)
|
>>> ChoiceFormSet = formset_factory(Choice, can_delete=True)
|
||||||
|
|
||||||
>>> initial = [{'choice': u'Calexico', 'votes': 100}, {'choice': u'Fergie', 'votes': 900}]
|
>>> initial = [{'choice': u'Calexico', 'votes': 100}, {'choice': u'Fergie', 'votes': 900}]
|
||||||
>>> formset = ChoiceFormSet(initial=initial, auto_id=False, prefix='choices')
|
>>> formset = ChoiceFormSet(initial=initial, auto_id=False, prefix='choices')
|
||||||
@ -290,14 +290,14 @@ True
|
|||||||
# FormSets with ordering ######################################################
|
# FormSets with ordering ######################################################
|
||||||
|
|
||||||
We can also add ordering ability to a FormSet with an agrument to
|
We can also add ordering ability to a FormSet with an agrument to
|
||||||
_formset_factory. This will add a integer field to each form instance. When
|
formset_factory. This will add a integer field to each form instance. When
|
||||||
form validation succeeds, [form.cleaned_data for form in formset.forms] will have the data in the correct
|
form validation succeeds, [form.cleaned_data for form in formset.forms] will have the data in the correct
|
||||||
order specified by the ordering fields. If a number is duplicated in the set
|
order specified by the ordering fields. If a number is duplicated in the set
|
||||||
of ordering fields, for instance form 0 and form 3 are both marked as 1, then
|
of ordering fields, for instance form 0 and form 3 are both marked as 1, then
|
||||||
the form index used as a secondary ordering criteria. In order to put
|
the form index used as a secondary ordering criteria. In order to put
|
||||||
something at the front of the list, you'd need to set it's order to 0.
|
something at the front of the list, you'd need to set it's order to 0.
|
||||||
|
|
||||||
>>> ChoiceFormSet = _formset_factory(Choice, can_order=True)
|
>>> ChoiceFormSet = formset_factory(Choice, can_order=True)
|
||||||
|
|
||||||
>>> initial = [{'choice': u'Calexico', 'votes': 100}, {'choice': u'Fergie', 'votes': 900}]
|
>>> initial = [{'choice': u'Calexico', 'votes': 100}, {'choice': u'Fergie', 'votes': 900}]
|
||||||
>>> formset = ChoiceFormSet(initial=initial, auto_id=False, prefix='choices')
|
>>> formset = ChoiceFormSet(initial=initial, auto_id=False, prefix='choices')
|
||||||
@ -371,7 +371,7 @@ True
|
|||||||
|
|
||||||
Let's try throwing ordering and deletion into the same form.
|
Let's try throwing ordering and deletion into the same form.
|
||||||
|
|
||||||
>>> ChoiceFormSet = _formset_factory(Choice, can_order=True, can_delete=True)
|
>>> ChoiceFormSet = formset_factory(Choice, can_order=True, can_delete=True)
|
||||||
|
|
||||||
>>> initial = [
|
>>> initial = [
|
||||||
... {'choice': u'Calexico', 'votes': 100},
|
... {'choice': u'Calexico', 'votes': 100},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user