Luke Plant
f026a519ae
Fixed #19733 - deprecated ModelForms without 'fields' or 'exclude', and added '__all__' shortcut
...
This also updates all dependent functionality, including modelform_factory
and modelformset_factory, and the generic views `ModelFormMixin`,
`CreateView` and `UpdateView` which gain a new `fields` attribute.
2013-05-09 16:44:36 +01:00
Claude Paroz
be9ae693c4
Fixed #17840 -- Generalized named placeholders in form error messages
...
Also fixed plural messages for DecimalField.
2013-04-13 18:55:50 +02:00
Baptiste Mispelon
f9dc1379b8
Fix #15126 : Better error message when passing invalid options to ModelForm.Meta.
2013-04-07 19:08:53 +02:00
Claude Paroz
066bf42675
Removed forced typecasting of help_text/label Field arguments
...
In any case, setting those variables to non-ascii utf-8 bytestrings
is now considered a programming error.
2013-03-25 21:38:21 +01:00
Anssi Kääriäinen
97774429ae
Fixed #19385 again, now with real code changes
...
The commit of 266de5f9ae
included only
tests, this time also code changes included...
2013-03-24 18:40:40 +02:00
Andrew Gorcester
f9ab543720
Fixed #20084 -- Provided option to validate formset max_num on server.
...
This is provided as a new "validate_max" formset_factory option defaulting to
False, since the non-validating behavior of max_num is longstanding, and there
is certainly code relying on it. (In fact, even the Django admin relies on it
for the case where there are more existing inlines than the given max_num). It
may be that at some point we want to deprecate validate_max=False and
eventually remove the option, but this commit takes no steps in that direction.
This also fixes the DoS-prevention absolute_max enforcement so that it causes a
form validation error rather than an IndexError, and ensures that absolute_max
is always 1000 more than max_num, to prevent surprising changes in behavior
with max_num close to absolute_max.
Lastly, this commit fixes the previous inconsistency between a regular formset
and a model formset in the precedence of max_num and initial data. Previously
in a regular formset, if the provided initial data was longer than max_num, it
was truncated; in a model formset, all initial forms would be displayed
regardless of max_num. Now regular formsets are the same as model formsets; all
initial forms are displayed, even if more than max_num. (But if validate_max is
True, submitting these forms will result in a "too many forms" validation
error!) This combination of behaviors was chosen to keep the max_num validation
simple and consistent, and avoid silent data loss due to truncation of initial
data.
Thanks to Preston for discussion of the design choices.
2013-03-21 01:27:24 -07:00
Loic Bistuer
6983a1a540
Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet.
2013-03-08 10:11:45 -05:00
Claude Paroz
4cccb85e29
Fixed #19997 -- Added custom EMPTY_VALUES to form fields
...
Thanks Loic Bistuer for the report and the patch.
2013-03-07 15:22:03 +01:00
Claude Paroz
3318595c0b
Fixed #18898 -- Added tests with a fix for ModelMultipleChoiceField
2013-03-01 09:35:18 +01:00
Claude Paroz
892bc91cb0
Fixed #16612 -- Improved has_changed detection for localized field values
...
Thanks Simon Charette for the review.
2013-03-01 09:35:04 +01:00
Klaas van Schelven
1c11ee6345
Fixed #18829 -- Fixed ModelChoiceIterator length
...
Thanks facundo.olano at gmail.com for the report and thikonom for
the initial patch.
2013-02-23 22:27:07 +01:00
Claude Paroz
cc53d9b30b
Fixed #15877 -- Improved exception when ModelForm has no model class
...
Thanks theaspect at gmail.com for the report and volrath for the
patch.
2013-02-23 18:32:29 +01:00
Klaas van Schelven
91c9470664
Method "save" in BaseModelFormSet is marked as alters_data
...
Fixes #17663
2013-02-23 13:01:28 +01:00
Claude Paroz
f44922c795
Fixed #18906 -- Ignored to-be-deleted forms in formset validate_unique
...
Thanks c.pollock at bangor.ac.uk for the report.
2013-02-08 21:35:19 +01:00
Simon Charette
a097ee32d8
Fixed #17683 -- Make sure `BaseModelFormSet` respects defined widgets.
2013-02-05 05:39:35 -05:00
Claude Paroz
ebb504db69
Moved has_changed logic from widget to form field
...
Refs #16612 . Thanks Aymeric Augustin for the suggestion.
2013-01-25 20:50:46 +01:00
Nick Sandford
93e79b45bc
Fixed #17416 -- Added widgets argument to inlineformset_factory and modelformset_factory
2013-01-24 08:58:17 +01:00
Anssi Kääriäinen
3647c0a49a
Avoided unnecessary recreation of RelatedObjects
...
Refs #19399 . Thanks to Track alias KJ for the patch.
2013-01-18 07:09:39 +02:00
Tim Graham
71d76ec011
Fixed #10239 - Added docs for modelform_factory
...
Thanks ingenieroariel for the suggestion and slurms for the review.
2013-01-11 06:00:19 -05:00
Aymeric Augustin
e9c24bef74
Fix #19524 -- Incorrect caching of parents of unsaved model instances.
...
Thanks qcwxezdas for the report. Refs #13839 .
2012-12-28 23:34:54 +01:00
Patryk Zawadzki
3989ce52ef
Fixed #18172 -- Made models with __iter__ usable in ModelMultipleChoiceField
...
Thanks to Patryk Zawadzki for the patch.
2012-12-19 22:51:12 +02:00
Anton I. Sipos
e44ab5bb4f
Fixed #18949 -- Improve performance of model_to_dict with many-to-many
...
When calling model_to_dict, improve performance of the generated SQL by
using values_list to determine primary keys of many to many objects. Add
a specific test for this function, test_model_to_dict_many_to_many
Thanks to brian for the original report and suggested fix.
2012-11-04 15:52:05 -08:00
Stephen Burrows
218abcc9e5
Fixed #14567 -- Made ModelMultipleChoiceField return EmptyQuerySet as empty value
2012-10-03 20:47:35 +03:00
Claude Paroz
fb3d916c20
Fixed #18751 -- Cleaned up BaseFormSet._should_delete_form
...
We can do that now that cleaned_data is guaranteed to be
present. Related to [121fd109
].
Thanks Simon Charette for his work on the ticket.
2012-08-30 15:51:13 +02:00
Aymeric Augustin
5301a9d7b1
[py3] Removed duplicate imports.
...
Fixed #18837 . Refs #18791 .
2012-08-23 10:16:16 +02:00
Aymeric Augustin
e091c18f50
[py3] Removed a remaining use of __metaclass__.
2012-08-14 23:45:12 +02:00
Claude Paroz
db729266d6
[py3] Fixed 'iterable but non string' detection
...
In Python 3, the str type has an __iter__ attribute. Therefore, the
presence of an __iter__ attribute is not sufficient to distinguish
'standard' iterables (list, tuple) from strings.
2012-08-08 18:02:25 +02:00
Aymeric Augustin
c5ef65bcf3
[py3] Ported django.utils.encoding.
...
* Renamed smart_unicode to smart_text (but kept the old name under
Python 2 for backwards compatibility).
* Renamed smart_str to smart_bytes.
* Re-introduced smart_str as an alias for smart_text under Python 3
and smart_bytes under Python 2 (which is backwards compatible).
Thus smart_str always returns a str objects.
* Used the new smart_str in a few places where both Python 2 and 3
want a str.
2012-08-07 12:00:22 +02:00
Aymeric Augustin
ee191715ea
[py3] Fixed access to dict keys/values/items.
2012-08-07 12:00:22 +02:00
Claude Paroz
121fd109de
Fixed #5524 -- Do not remove cleaned_data when a form fails validation
...
cleaned_data is no longer deleted when form validation fails but only
contains the data that did validate.
Thanks to the various contributors to this patch (see ticket).
2012-08-04 14:22:23 +02:00
Claude Paroz
9908201d7f
Replaced some byte strings by str() calls
...
This is a useful trick when Python 2 awaits byte strings and
Python 3 Unicode (regular) strings.
2012-08-03 15:18:13 +02:00
Piet Delport
487b92a13c
it's -> its
2012-07-25 01:21:15 +02:00
Aymeric Augustin
bdca5ea345
[py3] Replaced unicode/str by six.text_type/bytes.
2012-07-22 09:29:54 +02:00
Aymeric Augustin
d11d45aad9
[py3] Used six.with_metaclass wherever necessary.
2012-07-22 09:29:52 +02:00
Claude Paroz
4a103086d5
Fixed #18269 -- Applied unicode_literals for Python 3 compatibility.
...
Thanks Vinay Sajip for the support of his django3 branch and
Jannis Leidel for the review.
2012-06-07 18:08:47 +02:00
Claude Paroz
38408f8007
Marked bytestrings with b prefix. Refs #18269
...
This is a preparation for unicode literals general usage in
Django (Python 3 compatibility).
2012-05-19 17:43:34 +02:00
Claude Paroz
3904b74a3f
Fixed #18013 -- Use the new 'as' syntax for exceptions.
...
Thanks Clueless for the initial patch.
Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-04-29 20:57:15 +02:00
Jannis Leidel
4d8a0f8902
Fixed #17594 -- Stopped ModelFormset.save from running a SELECT query by relying on the fact that the initial form is already set. Thanks, tswicegood.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17434 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-04 16:05:39 +00:00
Ramiro Morales
e308cfc0e1
Added support for specifying initial values to model formsets and inline formsets.
...
This make them consistent with the similar capability of regular
formsets. Thanks to simon29 form the report and to Claude Paroz for the
patch.
Fixes #14574 .
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17373 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-01-15 01:36:14 +00:00
Alex Gaynor
544a8372fd
Remove several more relative imports.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17007 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-10-17 16:56:18 +00:00
Russell Keith-Magee
a5cbb892f8
Fixed #15315 -- Added support for the 'widget' argument to modelform_factory. Thanks to SardarNL and Will Hardy for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16659 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-23 04:08:24 +00:00
Jannis Leidel
bce890ace4
Fixed #16584 -- Fixed a bunch of typos in code comments. Thanks, Bernhard Essl.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16598 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-12 14:14:15 +00:00
Jannis Leidel
24f4764a48
Fixed #16225 -- Removed unused imports. Many thanks to Aymeric Augustin for the work on the patch and Alex for reviewing.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16539 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-13 09:35:51 +00:00
Carl Meyer
684b0396cf
Fixed #14082 -- Use metaclass of provided ModelForm subclass in modelform_factory. Thanks jspiros and Stephen Burrows for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16334 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-07 16:15:54 +00:00
Jannis Leidel
0b1a061881
Replaced old-style with new-style decorator syntax.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16138 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-05-01 16:46:02 +00:00
Jannis Leidel
7d11c30994
Fixed #6953 -- Correctly sort ManyToMany fields in ModelForms. Thanks, dgouldin, mk and Alex.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16063 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-22 12:01:33 +00:00
Adrian Holovaty
3a5b87cf6d
Importing django.forms no longer requires DJANGO_SETTINGS_MODULE. Moved django.db.connections import in django.forms.models to the method where it's used.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15797 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-03-14 04:42:04 +00:00
Luke Plant
13f9fd38dc
Fixed #14099 - BaseModelFormSet should use _should_delete_form
...
Thanks to kenth for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15612 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-02-21 14:23:02 +00:00
Russell Keith-Magee
1abf126e61
Fixed #9161 -- Ensure that ModelMultipleChoiceField respects to_field_name in validation. Thanks to Honza for the report, and Gregor Müllegger for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15587 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-02-19 14:45:54 +00:00
Russell Keith-Magee
b3085f8ae5
Fixed #15167 -- Ensure that non-form errors are always part of an ErrorList. Thanks to Harm Geerts for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15424 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-02-05 06:33:16 +00:00