summaryrefslogtreecommitdiff
path: root/django/forms/models.py
AgeCommit message (Collapse)Author
2013-07-13[1.6.x] Fixed #20582 -- Allowed default Form.label_suffix to be translatedClaude Paroz
Thanks Tim Graham for the review. Backport of 7557207983 from master.
2013-06-18Fixed #20199 -- Allow ModelForm fields to override error_messages from model ↵Loic Bistuer
fields
2013-06-18Refactored ValidationError to allow persisting error params and error codes ↵Loic Bistuer
as the exception bubbles up
2013-06-13Fixed #20000 -- Allowed ModelForm meta overrides for label, help_text and ↵Loic Bistuer
error_messages
2013-06-06Fixed #12337 - Honor ModelForm.Meta.exclude when saving ManyToManyFields.Stephen Burrows
Thanks margieroginski for the report.
2013-05-30Added missing stacklevel arg in forms/models.pyClaude Paroz
2013-05-23Made fix for #9321 less buggy and more effective.Ramiro Morales
Don't try to be smart about building a good-looking help string because it evaluates translations too early, simply use the same old strategy as before. Thanks Donald Stufft for the report. Also, actually fix the case reported by the OP by special-casing CheckboxSelectMultiple. Added tests. Refs #9321.
2013-05-20Fixed #9321 -- Deprecated hard-coding of help text in model ManyToManyField ↵Ramiro Morales
fields. This is backward incompatible for custom form field/widgets that rely on the hard-coded 'Hold down "Control", or "Command" on a Mac, to select more than one.' sentence. Application that use standard model form fields and widgets aren't affected but need to start handling these help texts by themselves before Django 1.8. For more details, see the related release notes and deprecation timeline sections added with this commit.
2013-05-18Fixed argument order for localized_fields to ensure backwards compatibilityErik Romijn
2013-05-18Fixed #13546 -- Easier handling of localize field options in ModelFormErik Romijn
2013-05-09Fixed #19733 - deprecated ModelForms without 'fields' or 'exclude', and ↵Luke Plant
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-04-13Fixed #17840 -- Generalized named placeholders in form error messagesClaude Paroz
Also fixed plural messages for DecimalField.
2013-04-07Fix #15126: Better error message when passing invalid options to ModelForm.Meta.Baptiste Mispelon
2013-03-25Removed forced typecasting of help_text/label Field argumentsClaude Paroz
In any case, setting those variables to non-ascii utf-8 bytestrings is now considered a programming error.
2013-03-24Fixed #19385 again, now with real code changesAnssi Kääriäinen
The commit of 266de5f9ae9e9f2fbfaec3b7e4b5fb9941967801 included only tests, this time also code changes included...
2013-03-21Fixed #20084 -- Provided option to validate formset max_num on server.Andrew Gorcester
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-08Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that ↵Loic Bistuer
return a QuerySet.
2013-03-07Fixed #19997 -- Added custom EMPTY_VALUES to form fieldsClaude Paroz
Thanks Loic Bistuer for the report and the patch.
2013-03-01Fixed #18898 -- Added tests with a fix for ModelMultipleChoiceFieldClaude Paroz
2013-03-01Fixed #16612 -- Improved has_changed detection for localized field valuesClaude Paroz
Thanks Simon Charette for the review.
2013-02-23Fixed #18829 -- Fixed ModelChoiceIterator lengthKlaas van Schelven
Thanks facundo.olano at gmail.com for the report and thikonom for the initial patch.
2013-02-23Fixed #15877 -- Improved exception when ModelForm has no model classClaude Paroz
Thanks theaspect at gmail.com for the report and volrath for the patch.
2013-02-23Method "save" in BaseModelFormSet is marked as alters_dataKlaas van Schelven
Fixes #17663
2013-02-08Fixed #18906 -- Ignored to-be-deleted forms in formset validate_uniqueClaude Paroz
Thanks c.pollock at bangor.ac.uk for the report.
2013-02-05Fixed #17683 -- Make sure `BaseModelFormSet` respects defined widgets.Simon Charette
2013-01-25Moved has_changed logic from widget to form fieldClaude Paroz
Refs #16612. Thanks Aymeric Augustin for the suggestion.
2013-01-24Fixed #17416 -- Added widgets argument to inlineformset_factory and ↵Nick Sandford
modelformset_factory
2013-01-18Avoided unnecessary recreation of RelatedObjectsAnssi Kääriäinen
Refs #19399. Thanks to Track alias KJ for the patch.
2013-01-11Fixed #10239 - Added docs for modelform_factoryTim Graham
Thanks ingenieroariel for the suggestion and slurms for the review.
2012-12-28Fix #19524 -- Incorrect caching of parents of unsaved model instances.Aymeric Augustin
Thanks qcwxezdas for the report. Refs #13839.
2012-12-19Fixed #18172 -- Made models with __iter__ usable in ModelMultipleChoiceFieldPatryk Zawadzki
Thanks to Patryk Zawadzki for the patch.
2012-11-04Fixed #18949 -- Improve performance of model_to_dict with many-to-manyAnton I. Sipos
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-10-03Fixed #14567 -- Made ModelMultipleChoiceField return EmptyQuerySet as empty ↵Stephen Burrows
value
2012-08-30Fixed #18751 -- Cleaned up BaseFormSet._should_delete_formClaude Paroz
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-23[py3] Removed duplicate imports.Aymeric Augustin
Fixed #18837. Refs #18791.
2012-08-14[py3] Removed a remaining use of __metaclass__.Aymeric Augustin
2012-08-08[py3] Fixed 'iterable but non string' detectionClaude Paroz
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-07[py3] Ported django.utils.encoding.Aymeric Augustin
* 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[py3] Fixed access to dict keys/values/items.Aymeric Augustin
2012-08-04Fixed #5524 -- Do not remove cleaned_data when a form fails validationClaude Paroz
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-03Replaced some byte strings by str() callsClaude Paroz
This is a useful trick when Python 2 awaits byte strings and Python 3 Unicode (regular) strings.
2012-07-25it's -> itsPiet Delport
2012-07-22[py3] Replaced unicode/str by six.text_type/bytes.Aymeric Augustin
2012-07-22[py3] Used six.with_metaclass wherever necessary.Aymeric Augustin
2012-06-07Fixed #18269 -- Applied unicode_literals for Python 3 compatibility.Claude Paroz
Thanks Vinay Sajip for the support of his django3 branch and Jannis Leidel for the review.
2012-05-19Marked bytestrings with b prefix. Refs #18269Claude Paroz
This is a preparation for unicode literals general usage in Django (Python 3 compatibility).
2012-04-29Fixed #18013 -- Use the new 'as' syntax for exceptions.Claude Paroz
Thanks Clueless for the initial patch. Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-02-04Fixed #17594 -- Stopped ModelFormset.save from running a SELECT query by ↵Jannis Leidel
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-01-15Added support for specifying initial values to model formsets and inline ↵Ramiro Morales
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
2011-10-17Remove several more relative imports.Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17007 bcc190cf-cafb-0310-a4f2-bffc1f526a37