Tom Christie
26e51ecd6c
When HTML form input is used with JSONField, treat the input as a JSON encoded string, not a JSON primative. ( #4565 )
2016-10-12 14:04:10 +01:00
Tom Christie
a3802504a0
Error codes ( #4550 )
...
Add error codes to `APIException`
2016-10-11 10:25:21 +01:00
Tom Christie
0dec36eb41
Version 3.5 ( #4525 )
...
* Start test case
* Added 'requests' test client
* Address typos
* Graceful fallback if requests is not installed.
* Add cookie support
* Tests for auth and CSRF
* Py3 compat
* py3 compat
* py3 compat
* Add get_requests_client
* Added SchemaGenerator.should_include_link
* add settings for html cutoff on related fields
* Router doesn't work if prefix is blank, though project urls.py handles prefix
* Fix Django 1.10 to-many deprecation
* Add django.core.urlresolvers compatibility
* Update django-filter & django-guardian
* Check for empty router prefix; adjust URL accordingly
It's easiest to fix this issue after we have made the regex. To try
to fix it before would require doing something different for List vs
Detail, which means we'd have to know which type of url we're
constructing before acting accordingly.
* Fix misc django deprecations
* Use TOC extension instead of header
* Fix deprecations for py3k
* Add py3k compatibility to is_simple_callable
* Add is_simple_callable tests
* Drop python 3.2 support (EOL, Dropped by Django)
* schema_renderers= should *set* the renderers, not append to them.
* API client (#4424 )
* Fix release notes
* Add note about 'User account is disabled.' vs 'Unable to log in'
* Clean up schema generation (#4527 )
* Handle multiple methods on custom action (#4529 )
* RequestsClient, CoreAPIClient
* exclude_from_schema
* Added 'get_schema_view()' shortcut
* Added schema descriptions
* Better descriptions for schemas
* Add type annotation to schema generation
* Coerce schema 'pk' in path to actual field name
* Deprecations move into assertion errors
* Use get_schema_view in tests
* Updte CoreJSON media type
* Handle schema structure correctly when path prefixs exist. Closes #4401
* Add PendingDeprecation to Router schema generation.
* Added SCHEMA_COERCE_PATH_PK and SCHEMA_COERCE_METHOD_NAMES
* Renamed and documented 'get_schema_fields' interface.
2016-10-10 13:03:46 +01:00
Tom Christie
4655501d51
Fix regression of RegexField
. ( #4490 )
...
* Don't deepcopy 'regex' arguments, instead treat as immutable.
2016-09-15 12:44:45 +01:00
Tom Christie
785b206b81
Tweak doctsring. Closes #4404 [ci skip]
2016-08-15 16:21:51 +01:00
Leonid Shvechikov
1d26b398ad
Fix comment for SerializerMethodField.bind method ( #4389 )
...
It seems that the example was copy&pasted and not updated properly.
2016-08-11 22:15:21 +01:00
Tom Christie
f16e880167
Stricter type validation for CharField. ( #4380 )
...
Stricter type validation for CharField
2016-08-10 17:22:19 +01:00
Tom Christie
48f3db36d6
Allow optional max_digits on DecimalField ( #4377 )
2016-08-10 14:39:26 +01:00
Dmitry Dygalo
e1768bdc16
Fixed various typos ( #4366 )
2016-08-08 09:32:22 +01:00
Tom Christie
e37619f741
Serializer defaults should not be included in partial updates. ( #4346 )
...
Serializer default values should not be included in partial updates
2016-08-02 13:05:12 +01:00
Tom Christie
46a44e52aa
Quantize incoming digitals ( #4339 )
2016-08-01 17:15:41 +01:00
Tom Christie
aa349fe767
Handle non-string input for IP fields ( #4338 )
2016-08-01 16:14:26 +01:00
kiyoqoko
6338ce80ab
Add localize keyword argument to DecimalField
( #4233 )
...
Add `localize` keyword argument for DecimalField
2016-07-06 16:07:16 +01:00
Tom Christie
798a971f20
Simplfy TimeField passing through strings ( #4197 )
...
* Simplfy TimeField passing through strings
2016-06-14 16:05:00 +01:00
Tom Christie
9406e45b2c
Pass through strings as-in with DateTimeField ( #4196 )
2016-06-14 12:23:39 +01:00
Tom Christie
9c996d7d2a
Clean up existing deprecation warnings. ( #4166 )
...
* Add Meta.fields = '__all__' to serializer classes where required.
* Add explicit on_delete=models.CASCADE to ForeignKey fields.
* Use '.remote_field' and '.model' in preference to '.rel' and '.to' when inspecting model fields.
* Use new value_from_object in preference to internal _get_val_from_obj
2016-06-02 14:39:10 +01:00
KhasanovBI
768ae26aa4
Fix None values representation in childs of ListField, DictField. ( #4118 )
2016-05-16 09:30:23 +01:00
Tom Christie
ebb4070467
Resolve TimeField representation for midnight value. ( #4107 )
2016-05-10 11:56:36 +01:00
Daniele Varrazzo
88c80fe2e9
Fixed DecimalField arbitrary precision support ( #4075 )
2016-04-27 17:04:01 +01:00
José Padilla
69c0de4faa
Merge pull request #3953 from akarambir/remove-old-django-checks
...
Closes #3952 : Remove old django checks from tests and compat
2016-02-19 11:08:45 -04:00
Karambir Singh Nain
69f1e3a9fd
Remove old django checks from tests and compat
...
Remove skipping of tests for Django<1.8. Remove several functions from compat.py not needed for Django>=1.8
2016-02-19 01:47:45 +05:30
Erick Wilder
8109752061
Closes #3937 . Support callable as the value of initial
for any serializer.Field
2016-02-17 10:52:21 +01:00
Mikalai Radchuk
1f2a32d506
Fixes docstrings in fields.py
...
Fixes docstrings for `to_choices_dict` and `flatten_choices_dict` functions in fields.py.
Mistakes were introduced in #4d69286
2016-02-03 12:36:00 +03:00
areski
4e01796303
Test for TimeField not handling empty values
2016-01-11 12:16:26 +01:00
areski
a76c3ed051
Fixed TimeField not handling empty values
2016-01-11 12:14:40 +01:00
Mikalai Radchuk
6b207d93d6
DateField.to_representation unicode compatibility
2016-01-11 13:11:01 +03:00
mjparker777
d9c360845d
changed datefield to match code layout of datetime and time changes
2015-12-17 12:21:44 -07:00
mjparker777
fc08236ab8
updated timefield also
2015-12-13 16:09:56 -07:00
mjparker777
bf60c08010
Issue 3726 DateTimeField not handling empty values
2015-12-13 12:21:13 -07:00
bphillips
c153bcb479
Added validation to UUIDField to properly catch invalid input types (lists, tuples, etc).
2015-12-01 14:09:10 -05:00
Steven Loria
b209fe04fc
Fix typo in docstring for ReadOnlyField
2015-11-20 13:51:21 -05:00
Tom Christie
04158e187e
Merge pull request #3513 from pattisdr/feature/ListField_needs_to_enforce_list
...
ListField does not enforce that input is a list
2015-11-18 12:19:40 +00:00
Dawn Pattison
8fa7c5c914
Exclude collections.Mapping from allowable data types in ListField
2015-10-20 08:56:39 -04:00
Omer Katz
2e178bc970
Replaced all dict and set conversions from lists to dict and set literals.
2015-10-17 12:00:11 +03:00
Dawn Pattison
dac1637bb3
Use set instead of Set
2015-10-16 16:06:18 -04:00
Dawn Pattison
b9316154b1
Add tuple and Set to allowed ListField data types
2015-10-16 16:02:13 -04:00
Dawn Pattison
f808f08a0d
Require that data is a list.
2015-10-16 14:43:43 -04:00
Tom Christie
265ec8ac62
Handle binary or unicode with JSONField
2015-09-28 17:47:51 +01:00
Tom Christie
ec8098b7e2
Work around 2.x/3.x json.dumps() return type fuzziness
2015-09-28 17:32:36 +01:00
Tom Christie
10dbf1316f
Added JSONField. Closes #3170 .
2015-09-28 17:25:52 +01:00
Tom Christie
2d0b54e263
Merge branch 'drop-django-16' oft https://github.com/carltongibson/django-rest-framework into carltongibson-drop-django-16
...
Conflicts:
docs/topics/release-notes.md
2015-09-28 11:17:48 +01:00
Tom Christie
ca8313aeac
Merge branch 'master' into version-3.3
...
Conflicts:
docs/topics/release-notes.md
2015-09-28 10:57:14 +01:00
Tom Christie
6284bceaaf
Merge pull request #3363 from tomchristie/dont-access-settings-on-import
...
Access settings lazily, not at module import.
2015-09-24 15:42:31 +01:00
Carlton Gibson
45ace5010e
Remove OrderedDict fallback
2015-09-22 16:35:38 +02:00
Carlton Gibson
4a1ab3c18c
Fix isort errors
2015-09-21 16:29:33 +02:00
Carlton Gibson
e625cff8a5
Remove Django 1.5 URLValidator fallback
2015-09-21 16:22:46 +02:00
Carlton Gibson
9216dc9a25
Remove Django 1.5 EmailValidator fallback
2015-09-21 16:20:07 +02:00
Xavier Ordoquy
f2c65512c6
Merge pull request #3415 from adamsc64/issue_2761
...
Fixed #2761 - ListField truncation on HTTP PATCH
2015-09-21 13:06:44 +02:00
Christopher Adams
9ccfc94077
Fixed #2761 - ListField truncation on HTTP PATCH
...
- Checked ``partial`` state when getting value in appropriate field
classes; return ``empty`` immediately if key not submitted.
2015-09-19 10:18:04 -04:00
Steven Loria
284f9faa07
Correctly handle [] and {} as invalid inputs to BooleanField
2015-09-11 23:12:18 -04:00
Tom Christie
f9e53091c1
Drop handling of ImproperlyConfigured
2015-09-03 16:40:12 +01:00
Tom Christie
8b7ebb9d2c
Fixed import sorting
2015-09-03 16:29:13 +01:00
Tom Christie
10da18b20b
Access settings lazily, not at module import
2015-09-03 16:24:13 +01:00
raphaelmerx
b9782b6850
DurationField accepts integers
2015-09-02 16:47:50 -07:00
Tom Christie
9ac646385f
Resolve empty HTML charfield behavior. Closes #3318 .
2015-08-24 10:13:16 +01:00
Tom Christie
314c0095aa
iter_options function should have no cutoff by deault
2015-08-21 10:56:22 +01:00
Tom Christie
99beeb80e1
No cutoff for default ChoiceField, only for relationships
2015-08-21 10:53:10 +01:00
Tom Christie
f4412d0827
Docs for select cutoffs
2015-08-21 10:52:44 +01:00
José Padilla
8af366a732
Raise error when source=
use on a child.
...
Closes #3292
2015-08-19 12:32:16 -04:00
Omer Katz
792005806b
Cached the field's root and context property.
2015-08-18 12:38:13 +03:00
Tom Christie
18af181191
Fix boolean checkboxes setting to False. Closes #3258 . Closes #2776 .
2015-08-13 09:56:03 +01:00
Tom Christie
368fb9fb2a
Merge pull request #3238 from kezabelle/bugfix/3235
...
Fixed #3235 - ListField now returns the QueryDict value even if it's a list of only one item.
2015-08-07 14:44:32 +01:00
Tom Christie
e63dcab8b3
Fix for rendering select templates on relationships
2015-08-07 14:36:00 +01:00
Keryn Knight
0078f66104
Fixed #3235 - A querydict which yields a list with only one value now correctly returns the provided data.
2015-08-07 11:43:17 +01:00
Tom Christie
24dec32e7a
Added test_iter_options
2015-08-06 12:18:09 +01:00
Tom Christie
4d69286efa
Use same structure for both .choices and .grouped_choices
2015-08-06 12:03:38 +01:00
Tom Christie
a6fefe78ff
Added docstring
2015-08-06 11:44:39 +01:00
Tom Christie
27ac5a3680
Support grouped choices
2015-08-06 11:43:03 +01:00
Tom Christie
95a1550388
Merge branch 'grouped-choices-fix' of https://github.com/maxpeterson/django-rest-framework into maxpeterson-grouped-choices-fix
2015-08-06 10:04:52 +01:00
Tom Christie
38a1b3ec6b
Rationalize decimal logic. Closes #3222 .
2015-08-06 09:51:00 +01:00
Tom Christie
bf35906dc0
FilePathField subclassing from ChoiceField
2015-08-03 10:17:41 +01:00
Tom Christie
877e964d7e
Don't need to support Django 1.4 with FilePathField.
2015-08-03 10:15:28 +01:00
Aider Ibragimov
205f388631
fix import sort order
2015-07-19 01:32:51 +03:00
Aider Ibragimov
c4f1c98572
fix lint issues
2015-07-19 01:22:57 +03:00
Aider Ibragimov
a1397ac699
fix bugs, move version branching to compat, update ModelSerializer mapping
2015-07-19 00:26:03 +03:00
Aider Ibragimov
d845157983
Merge branch 'master' of https://github.com/tomchristie/django-rest-framework into feature/filepathfield
2015-07-18 23:34:07 +03:00
Tom Christie
0ccb148183
Support QueryDict list arguments with ListField. Closes #3155 .
2015-07-16 15:59:15 +01:00
Tom Christie
264d423493
Added allow_empty flag for ListField, ListSerializer, ManyRelation, MultipleChoiceField.
2015-07-16 13:51:15 +01:00
Tom Christie
d231f36588
Support default values being used for empty HTML fields. Closes #3130 .
2015-07-16 11:47:40 +01:00
Max Peterson
ee2afb83e2
Fix 1.4 tests and make flatten_choice a utility.
2015-07-03 13:56:49 +01:00
Max Peterson
56b3f19605
Add support for grouped choices.
...
This also adds support for mixing single and paired choices:
```
[
('poor', 'Poor quality'),
'medium',
('good', 'Good quality'),
]
```
2015-07-03 12:27:01 +01:00
Tom Christie
c4f908d4ee
Introduce datetime_parser as class level attribute on all date/time fields. Refs #3093 .
2015-07-02 11:23:52 +01:00
Tom Christie
6ce9e3baf0
Remove datetime_parser argument from DateTimeField
2015-07-02 11:22:18 +01:00
Tom Christie
6d79ea2cde
Merge pull request #3093 from sorreltree/master
...
Ability to customize DateTimeField with a custom datetime_parser
2015-07-02 11:21:25 +01:00
Tom Christie
d979dc6522
Tweak exception message
2015-07-02 10:16:43 +01:00
Tom Christie
e3c3d8826f
Merge pull request #3071 from antonyc/patch-1
...
Made exception message more verbose
2015-07-02 10:14:01 +01:00
Michael Bacon
5f40ab53de
Ability to customize DateTimeField with a custom datetime_parser
2015-06-30 14:51:47 -04:00
José Padilla
7351a3f6ca
Sort imports with isort
2015-06-25 16:55:51 -04:00
José Padilla
83c9136c90
Cleanup import following PEP 8 style guide
2015-06-25 16:10:17 -04:00
Tom Christie
321133242f
Unsaved file objects may not have an associated URL.
2015-06-24 14:24:19 +01:00
Tom Christie
39ece9bee0
Support allow_blank=False with trim_whitespace=True.
2015-06-24 13:32:54 +01:00
Anton Chaporgin
47acec0f9d
Made exception message more verbose
...
This exception helps you to upgrade from 2 -> 3 and since a lot of fields may be in 2 using serializers.Field as parent class, this message should contain at least name of upgraded field to help user to grep and fix the codebase faster.
2015-06-24 11:59:49 +03:00
Tom Christie
a3d6601e09
Merge pull request #3008 from linovia/feature/ipaddress-fix
...
`IPAddressField` improvements
2015-06-04 14:54:50 +01:00
Tom Christie
e8cc948f6b
Merge pull request #2695 from delinhabit/refactor-decimalfield
...
[enhancement] Refactored DecimalField to allow easier subclassing
2015-06-04 14:26:28 +01:00
Xavier Ordoquy
dee5fb5647
Merge remote-tracking branch 'reference/master' into feature/ipaddress-fix
...
Conflicts:
docs/api-guide/fields.md
2015-06-04 14:21:33 +01:00
Xavier Ordoquy
0c66c7cfa6
Merge pull request #3000 from linovia/ovangle/uuid_format2
...
Add 'format' argument to UUIDField
2015-06-03 12:32:23 +01:00
Xavier Ordoquy
f8eacc5bc0
Merge pull request #2993 from linovia/bug/2894
...
MultipleChoiceField empties incorrectly on a partial update using multipart/form-data (#2894 )
2015-06-01 17:48:20 +01:00
Nicolas Delaby
f701ecceb7
Add DurationField
2015-06-01 18:20:53 +02:00
Xavier Ordoquy
5c90bf9cc0
Fix for #2894 thanks to @carljm
2015-06-01 16:13:35 +01:00
Michał Hernas
e8c226c2db
Fixed lint problems
2015-05-18 16:55:40 +02:00
Michał Hernas
069ea31cfb
Added test ensuring DecimalField accepts 2E+2
as 200 and validates
...
decimal place correctly.
2015-05-18 16:42:24 +02:00
David Sanders
b7edd46313
Use simpler dict.get() rather than try/except
2015-05-16 01:01:27 +10:00
David Sanders
8e84a9f6d0
Allow invalid outputs to pass through to_representation() for ChoiceField & MultipleChoiceField
2015-05-15 18:59:10 +10:00
Ryan Allen
cbea03c85b
DateField to_representation can handle str and empty values. Fixes #2656 , #2687 .
2015-04-23 19:31:46 -05:00
Ryan Allen
32acc4a72b
Set IntegerField class variable for compiled decimal regex, comment for purpose
2015-04-21 10:52:52 -04:00
Ryan Allen
1f10a39d31
Match IntegerField validation with Django's, preventing decimal values being stored as ints, fixes #2835 .
...
Match IntegerField validation with Django IntegerField, prevents decimal values being stored as ints, fixes #2835
On branch master
2015-04-20 11:03:05 -04:00
Thomas Stephenson
236b731072
Add 'format' argument to UUIDField
...
To allow serializations to control the representation format of a
UUID value
2015-04-12 22:07:25 +10:00
Andrea Grandi
d6effbf779
Remove unpack_ipv4 parameter
2015-04-02 19:40:17 +01:00
Michael Blatherwick
56ec7b152e
Fixed docstring typo
2015-03-27 18:00:19 +00:00
Andrea Grandi
466575bee6
Lowercase the input
2015-03-26 18:14:53 +00:00
Ion Scerbatiuc
022c4d540b
Refactored DecimalField to allow easier subclassing
2015-03-14 07:16:17 -07:00
Aider Ibragimov
c44376c613
remove unnecessary check
2015-03-04 14:17:58 +03:00
Tymur Maryokhin
391b0ae21b
Call default.set_context() only on create. Refs #2619 .
2015-03-03 17:02:12 +01:00
Aider Ibragimov
e5d95e319e
fix FilePathField kwargs for django < 1.5
2015-03-03 16:58:04 +03:00
Aider Ibragimov
04cc1964bd
remove dict compehension
2015-03-03 16:45:20 +03:00
Aider Ibragimov
5f8338e276
Merge branch 'master' of https://github.com/tomchristie/django-rest-framework into feature/filepathfield
2015-03-03 14:34:18 +03:00
Aider Ibragimov
c20a0250df
add FilePathField, update docs
2015-03-03 14:34:06 +03:00
Aider Ibragimov
de72022f80
Merge branch 'master' of https://github.com/Ins1ne/django-rest-framework into feature/ipaddress
2015-02-28 14:29:27 +03:00
Aider Ibragimov
4d5eee04a0
add IPAddressField, update docs
2015-02-28 10:11:38 +03:00
Kevin Wood
78e8b1b010
Updated CreateOnlyDefault to call set_context on its default (if callable)
2015-02-27 22:14:15 -08:00
Janusz Harkot
9098856d46
fix DictKey initial value
2015-02-27 19:46:36 +01:00
Tom Christie
cda74b5997
Merge pull request #2608 from ezheidtmann/dont-swallow-errors-in-callable-sources
...
Dont swallow errors in callable sources
2015-02-27 09:13:01 +00:00
Evan Heidtmann
e6b06c34c1
Add explanation for this exception mutation
2015-02-26 09:20:17 -08:00
Evan Heidtmann
bdb73d5588
Avoid swallowing exceptions thrown in callable attributes
2015-02-26 09:05:46 -08:00
Rense VanderHoek
91416632a8
DecimalField fix
...
max_value and min_value are not in kwargs
2015-02-21 12:31:37 +01:00
Rense VanderHoek
9cb547b85f
Validator-fix, added min/max fields to test_metadata
2015-02-20 17:34:49 +01:00
Rense VanderHoek
c8609ba652
Set field length/values as actual attributes.
...
The SimpleMetadata class in metadata.py tries to getattr() attributes
on a field. For this to work, max_length and min_length have to be
actually set as an attribute.
Did the same for min_value and max_value and added those two to
SimpleMetadata.get_field_info
2015-02-20 16:31:12 +01:00
Tom Christie
c3425accde
Fix incorrect HTML parsing for DictField
2015-02-11 14:19:07 +00:00
Tom Christie
dec3493d7c
Minor cleanup
2015-02-06 14:43:43 +00:00
José Padilla
7f801b9a01
Add trim_whitespace to CharField #2517
...
If set to `True` then leading and trailing
whitespace is trimmed. Defaults to `True`.
2015-02-06 01:09:19 -04:00
Tom Christie
4ee4b4f2dc
Merge master
2015-01-30 14:00:25 +00:00
Tom Christie
35f6a82462
Added DictField and support for HStoreField.
2015-01-23 16:27:23 +00:00
Tom Christie
e8db1834d3
Added UUIDField.
2015-01-23 15:24:06 +00:00
Tom Christie
11efde8905
Merge pull request #2373 from jakul/document-translations-3.1
...
Document how to translate DRF error messages (version 3.1)
2015-01-09 11:57:02 +00:00
Craig Blaszczyk
58ec7669ae
swap backticks for double quotes
2015-01-07 18:22:30 +00:00
Craig Blaszczyk
91e316f781
prefer single quotes in source and double quotes in user visible strings; add some missing full stops to user visible strings
2015-01-07 12:46:23 +00:00
Craig Blaszczyk
9a4267049b
use double quotes in user messages
2015-01-07 12:33:37 +00:00
Craig Blaszczyk
4c32083b8b
use double quotes for user visible strings; end user visible strings in full stops; add some missing translation tags
2015-01-07 12:01:11 +00:00
Tom Christie
b6ca7248eb
required=False allows omission of value for output. Closes #2342
2015-01-05 14:32:12 +00:00
Craig Blaszczyk
a90ba2bc11
update error messages for language and consistency
2015-01-02 11:08:31 +00:00
Tom Christie
77e3021fea
Better behaviour with null and '' for blank HTML fields.
2014-12-20 16:26:51 +00:00
Tom Christie
87ac64e41b
Fixes for behavior with empty HTML fields.
2014-12-18 10:36:52 +00:00
Tom Christie
3fff5cb6e0
Fix empty HTML values when a default is provided.
2014-12-17 15:13:48 +00:00
Tom Christie
af53e34dd5
Merge pull request #2279 from tomchristie/fix-serializer-repr-unicode-bug
...
Use unicode internally everywhere for 'repr'.
2014-12-15 12:04:46 +00:00
Tom Christie
72e08a3e8b
Use unicode internally everywhere for 'repr'
2014-12-15 11:55:17 +00:00
Tom Christie
488b13e7b8
Better messaging for 'Field.to_representation'. Closes #2271 .
2014-12-15 09:29:54 +00:00
Tom Christie
aa571abb20
Better errors when serializer has incorrectly named field.
2014-12-13 14:58:04 +00:00
Peter Schmidt
fa1ef33bfc
Update CharField default min_length message.
2014-12-12 11:16:29 +11:00
Tom Christie
81d0b748b4
Improve field lookup behavior for dicts/mappings. Closes #2244 . Closes #2243 .
2014-12-10 09:16:01 +00:00
José Padilla
afe7ed9333
Add allow_blank for ChoiceField #2184
...
This makes a ChoiceField optional in HTML if
model field has `blank=True` set.
2014-12-09 09:25:06 -04:00