Ryan P Kilby
1a667f420d
Reimplement request attribute access w/ __getattr__ ( #5617 )
...
* Add tests for proxying WSGIRequest attributes in Request.
* Add request attribute exception test
* Reimplement request attribute access
2017-11-22 11:42:59 +01:00
Ryan P Kilby
ae88f5c55b
Minor cleanup for ModelSerializer tests ( #5598 )
...
* Replace assertRaises with assertRaisesMessage
* Remove outdated implicit Meta.fields test
* Simplify parent declared field test
2017-11-22 10:36:34 +01:00
Michał Bielawski
134a6f66f9
Fixed schema generation for filter backends ( #5613 )
2017-11-22 00:11:59 -05:00
Ryan P Kilby
a3df1c1199
Test Serializer exclude for declared fields ( #5599 )
...
* Test current behavior of exclude+declared field
* Assert declared fields are not present in exclude
2017-11-20 09:51:16 +01:00
Jon Dufresne
ff556a91fd
Remove references to unsupported Django versions in docs and code ( #5602 )
...
Per the trove classifiers, DRF only supports Django versions 1.10+. Can
drop documentation, code comments, and workarounds for older Django
versions.
2017-11-20 09:35:54 +01:00
bartkim0426
9c11077cf6
Fix in documentation ( #5612 )
...
- typo in serialization document: 'intead' => 'instead'
2017-11-20 09:08:16 +01:00
Alexei Znamensky
20954469b2
Fix in documentation ( #5611 )
...
- model serializers now must provide either "fields" or "exclude" as attribute
2017-11-20 09:07:36 +01:00
Ryan P Kilby
2531998427
Rename test to reference correct issue ( #5610 )
2017-11-20 08:58:29 +01:00
Ryan P Kilby
9f66e8badd
Fix request body/POST access ( #5590 )
...
* Modernize middleware tests
* Added a failing test for #5582
* Set data ref on underlying django request
2017-11-15 20:58:37 +01:00
Ryan P Kilby
15024f3f07
Remove set_rollback() from compat ( #5591 )
...
* Remove Django 1.6 transaction compat
* Move set_rollback from compat => views
2017-11-14 09:55:59 +01:00
Éric Araujo
265375c104
add missing template change for #5584 ( #5587 )
2017-11-11 08:43:00 +01:00
Anna Ossowski
c33d0069da
Updated monthly report link + added 3.7 info
2017-11-10 19:27:26 +01:00
Éric Araujo
57ad208dc6
add pygments CSS block in browsable API views ( #5584 )
2017-11-10 09:42:21 +01:00
Ryan P Kilby
8d7ce3726d
Compat cleanup ( #5581 )
...
* Reenable flake8 on compat, cleanup style/imports
* Cleanup compat urls imports
* Refactor compat url pattern/resolver imports
* Add comment re dropping pytz compat
... when dropping Django 1.10
* Strip whitespace
Grrr. GitHub web editor 😡
2017-11-10 09:41:03 +01:00
Jon Dufresne
f9c67f04d4
Clean up all whitespace throughout project ( #5578 )
...
* Remove trailing whitespace from lines
* Remove trailing nad leading whitespace from files
Allows for cleaner diffs in future changes. For editors that
automatically clean up whitespace on save, will avoid unrelated line
changes in diffs.
2017-11-09 20:57:53 +01:00
Jon Dufresne
f8e8381c00
Drop compat wrapper for TimeDelta.total_seconds() ( #5577 )
...
TimeDelta.total_seconds() was introduced in Python 2.7 and 3.2. It is
available on all supported Python versions.
https://docs.python.org/2/library/datetime.html#datetime.timedelta.total_seconds
https://docs.python.org/3/library/datetime.html#datetime.timedelta.total_seconds
2017-11-09 09:03:48 +01:00
Xavier Ordoquy
9234ac576e
Merge pull request #5579 from jdufresne/urllib
...
Remove ulrparse compatability shim; use six instead
2017-11-09 08:30:17 +01:00
Jon Dufresne
ea81000160
Remove ulrparse compatability shim; use six instead
...
The urlparse shim in compat.py duplicates Django's bundled six. Can rely
on upstream instead of duplicating their works. Unifies shim with other
files already using six.
2017-11-08 21:30:33 -08:00
Carlton Gibson
0f33e63e10
Update version and release notes for v3.7.3 ( #5568 )
2017-11-06 16:32:12 +01:00
Xavier Ordoquy
71a512b2d9
Merge pull request #5567 from rpkilby/importable
...
Add rest_framework.compat import test
2017-11-06 16:16:40 +01:00
Xavier Ordoquy
d6a8e02021
Move django.contrib.auth import out of compat.
...
Fixed some regressions where compat was imported during app loading and
led to importing django.contrib.auth.models which ended in a
`AppRegistryNotReady` exception.
2017-11-06 09:57:51 -05:00
Ryan P Kilby
ca341ef705
Add compat import test
2017-11-06 09:56:57 -05:00
Xavier Ordoquy
7d0fa02dc0
Revert "Move django.contrib.auth import out of compat."
...
This reverts commit d4d9cc1d53
.
2017-11-06 15:23:54 +01:00
Xavier Ordoquy
d4d9cc1d53
Move django.contrib.auth import out of compat.
...
Fixed some regressions where compat was imported during app loading and
led to importing django.contrib.auth.models which ended in a
`AppRegistryNotReady` exception.
2017-11-06 15:06:47 +01:00
Carlton Gibson
3dc40f9572
Version 3.7.2 Release ( #5563 )
...
* Begin release notes for 3.7.2
* Add release notes fro merged issues.
* Finalise release notes
* Increment version number to 3.7.2
* Update translations
2017-11-06 12:05:08 +01:00
Yuri Nikulin
7a278b3540
fix processing unicode symbols in query_string by Python 2 ( #5552 )
...
* fix processing unicode symbols in query_string by Python 2
* Add comments for encoded test strings.
* Add file encoding for Python 2.
2017-11-06 11:46:37 +01:00
Sergei Azarkin
d49d796c85
Change ImageField validation pattern, use validators from DjangoImageField ( #5539 )
2017-11-06 11:14:37 +01:00
Jon Dufresne
0552810410
Use dict and set literals instead of calls to dict() and set() ( #5559 )
...
Set literals are available on all supported Python versions. They are
idiomatic and always faster:
$ python3 -m timeit '{}'
10000000 loops, best of 3: 0.0357 usec per loop
$ python3 -m timeit 'dict()'
10000000 loops, best of 3: 0.104 usec per loop
$ python3 -m timeit '{1, 2, 3}'
10000000 loops, best of 3: 0.0754 usec per loop
$ python3 -m timeit 'set([1, 2, 3])'
1000000 loops, best of 3: 0.228 usec per loop
2017-11-06 10:03:01 +01:00
Jon Dufresne
f77e794dc8
Fix all BytesWarning caught during tests ( #5561 )
...
Running the tests with bytes warning enabled shows some bytes/str
mixups. Fix them all.
Some examples of mixing usage:
str(b'foo') -- calling str() on bytes
b'foo' == 'foo' -- compare str with bytes
'foo' + b'bar' -- concatenating str and bytes
2017-11-06 10:02:48 +01:00
Carlton Gibson
331c31370f
Add rounding parameter to DecimalField ( #5562 )
...
* Adding rounding parameter to DecimalField.
* Using standard `assert` instead of `self.fail()`.
* add testcase and PEP8 multilines fix
* flake8 fixes
* Use decimal module constants in tests.
* Add docs note for `rounding` parameter.
2017-11-06 09:55:09 +01:00
Carlton Gibson
565c722762
Add interactive docs error template ( #5548 )
2017-11-06 09:04:07 +01:00
Xavier Ordoquy
e5cee43000
Merge pull request #5560 from jdufresne/escape-seq
...
Fix invalid escape sequence deprecation warnings
2017-11-06 08:20:35 +01:00
Jon Dufresne
44823b0e1d
Fix invalid escape sequence deprecation warnings
...
When running tests with warnings enabled, appear as:
DeprecationWarning: invalid escape sequence \d
Starting with Python 3.6, invalid escape sequences are deprecated. In a
future Python versions they will be a syntax error. For more details, see:
https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior
> A backslash-character pair that is not a valid escape sequence now
> generates a DeprecationWarning. Although this will eventually become a
> SyntaxError, that will not be for several Python releases.
2017-11-05 10:09:38 -08:00
Xavier Ordoquy
5f9faab769
Merge pull request #5557 from jdufresne/bdist
...
Rename [wheel] section to [bdist_wheel] as the former is legacy
2017-11-04 10:07:21 +01:00
Xavier Ordoquy
eb32c97ca7
Merge pull request #5556 from jdufresne/cache
...
Add pip cache support to the Travis CI configuration
2017-11-04 09:55:56 +01:00
Xavier Ordoquy
5455771cc6
Merge pull request #5555 from jdufresne/trove
...
Add trove classifier for Python 3.6 support.
2017-11-04 09:49:20 +01:00
Jon Dufresne
da266fb864
Rename [wheel] section to [bdist_wheel] as the former is legacy
...
For additional details, see:
54ddbcc9ce/wheel/bdist_wheel.py (bdist_wheel.py-119)
:125
http://pythonwheels.com/
2017-11-03 17:40:14 -07:00
Jon Dufresne
18180c9fc6
Add pip cache support to the Travis CI configuration
...
For documentation on the feature, see:
https://docs.travis-ci.com/user/caching/#pip-cache
With packages cached, builds will be slightly faster and help reduce
load on PyPI.
2017-11-03 16:08:34 -07:00
Jon Dufresne
64cfa3b64d
Add trove classifier for Python 3.6 support.
...
Helps users know, at a glance, if the library is compatible with a
project.
2017-11-03 16:03:23 -07:00
Xavier Ordoquy
526bdacc54
Merge pull request #5553 from adrienbrunet/patch-1
...
Update link to documentation
2017-11-03 17:30:49 +01:00
Adrien Brunet
1575bd98d8
Update link to documentation
...
Previous link led to a maze. :/
2017-11-03 15:49:21 +01:00
Vasyl Dizhak
5d71d8d4b8
Increase test coverage for drf_create_token command ( #5550 )
2017-11-02 10:26:42 +01:00
Allisson Azevedo
3ddc22f708
Add djangorestframework-rapidjson to third party packages ( #5549 )
2017-11-02 10:19:33 +01:00
Stephen Chisholm
93e75ec138
Catch OverflowError for "out of range" datetimes ( #5546 )
...
* Add test for #5545
* Catch OverflowError for "out of range" datetimes
2017-10-31 10:17:08 +01:00
Danilo Akamine
4249245123
Add import to example in api-guide/parsers ( #5547 )
2017-10-30 17:11:54 +01:00
Tom Christie
2b6245db53
Ensure Location header is strictly a 'str', not subclass. Closes #5541 ( #5544 )
2017-10-30 13:08:52 +00:00
Ryan P Kilby
5009aeff18
Fields with 'allow_null=True' should imply a default serialization value ( #5518 )
...
* Add test for dotted source + allow_null
* Field 'allow_null' implies 'default=None'
* Field 'allow_null' provides serialization default
2017-10-30 10:17:53 +01:00
Carlton Gibson
1f693c331e
Fix dotted source ordering ( #5533 )
...
* replaced '.' for '__' in dotted ordering sources
* Add test for non-dotted source.
2017-10-25 11:46:21 +02:00
Carlton Gibson
7261ae653a
Schema: Exclude OPTIONS/HEAD for ViewSet actions ( #5532 )
...
Closes #5528 .
Viewset custom actions (@detail_route etc) OPTIONS (and HEAD) methods were not being excluded from Schema Generations.
This PR adds a test reproducing the reported error and adjusts `EndpointEnumerator.get_allowed_methods()` to filter ViewSet actions in the same way as other `APIView`s
2017-10-25 10:56:40 +02:00
Jamie Cockburn
efb047fa07
JSONField renders as textarea ( #5529 ) ( #5530 )
2017-10-25 10:55:41 +02:00