Yuekui
2b34aa4291
Re-prefetch related objects after updating ( #8043 )
...
* Re-prefetch related objects after updating
* Fix flake8 format
* Use _prefetch_related_lookups and refine test cases
* Add more test cases and refine prefetch checking
2023-01-11 15:30:15 +06:00
totycro
bfce663a60
Update documentation regarding arguments of ValidationError ( #8807 )
...
The documentation used to state that the `detail` argument was
mandatory, but in fact it currently is not.
2023-01-10 00:53:49 +06:00
Radosław Kowalski
89d6ce7d43
fix FilePathField required argument ( #8805 )
2023-01-05 01:21:57 +06:00
johnthagen
069c701ebf
Update docs to maintained djangorestframework-guardian2
( #8817 )
...
* Update docs to maintained django-rest-framework-guardian2
* Update to updated GitHub project name
2023-01-03 19:18:05 +06:00
Asif Saif Uddin
b3d2753308
Revert "Fix bug in validators documentation ( #8779 )" ( #8811 )
...
This reverts commit 614bd87b60
.
2023-01-03 17:59:36 +06:00
Asif Saif Uddin
bf4c6e78d4
try update django-filter==22.1 ( #8813 )
...
* try update django-filter==22.1
* Update requirements/requirements-optionals.txt
2023-01-03 17:45:28 +06:00
Asif Saif Uddin
118543769f
upddate setup python action to v4 ( #8806 )
2023-01-03 17:41:40 +06:00
Asif Saif Uddin
dd81eec2fd
attrs==22.1.0 ( #8828 )
2023-01-03 10:30:04 +00:00
Waqas Ali
406988ba7b
- fix transifex-client version in packaging requirements. ( #8827 )
2023-01-03 14:31:30 +06:00
David Graves
48a21aa0eb
raise ImproperlyConfigured exception if basename
is not unique ( #8438 )
...
* raise ImproperlyConfigured if basename already exists
* rename already_registered function; return True/False
* additional basename tests
* additional basename tests
* Update rest_framework/routers.py
Co-authored-by: David Graves <dgraves@lrtcapitalgroup.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
2022-12-10 22:50:41 +06:00
kanazawa
b79099f7ba
Use PrimaryKeyRelatedField pkfield in openapi ( #8315 )
2022-12-10 22:48:43 +06:00
Adam Johnson
59ae95b22f
Upgrade to tox 4 ( #8795 )
2022-12-08 08:01:07 +00:00
Jakub Bodek
1355890f9f
replace partition with split in BasicAuthentication ( #8790 )
...
* replace partition with split in BasicAuthentication
* test if basic auth without provided password fails
2022-12-08 09:52:35 +06:00
Rodrigo
1fbe16a8d2
Fix BooleanField's allow_null behavior ( #8614 )
...
* Fix BooleanField's allow_null behavior
* Update rest_framework.fields
- Use .get with default value for 'allow_null' kwarg in BooleanField's
init
2022-12-06 15:04:50 +06:00
Sigve Sebastian Farstad
ee15731cbc
Handle Django's ValidationErrors in ListField ( #6423 )
...
Without this, Django's ValidationErrors will bypass the error collection
from ListField's children.
Here is an example that illustrates this change.
Consider a Serializer that uses ListField like this:
```python
class SomeSerializer(serializers.Serializer):
uuids = serializers.ListField(
child=serializers.PrimaryKeyRelatedField(
queryset=Model.objects.something(),
validators=[SomeCustomValidator()]
)
)
```
Validating data that looks like this works fine:
```python
{uuids: ['some-valid-uuid', 'some-valid-uuid']}
```
Raising a DRF ValidationError for one of the children works fine, giving
an error object like:
```python
{'uuids': {0: ErrorDetail(string='Some validation error')}}
```
Raising a Django ValidationError for one of the children works
differently (which serializers.PrimaryKeyRelatedField can do in some
cases, like when the uuid is malformed). It gives an error object like:
```python
{'uuids': ["'X' is not a valid UUID."]}
```
Handling Django's ValidationErrors in ListField explicitly (like in this
pull request), will maintain a regular error interface in this case:
```python
{'uuids': {0: ErrorDetail(string="'X' is not a valid UUID.")}}
```
2022-12-04 20:37:47 +06:00
juspence
cc3c89a11c
Remove a bit of inline CSS. Add CSP nonce where it might be required and is available. ( #8783 )
...
Co-authored-by: Craig Anderson <craiga@craiga.id.au>
2022-12-02 11:47:04 +06:00
Tom Christie
a02bb79d87
Update admin.py ( #8534 )
...
Use `autocomplete_fields` to keep the select user field manageable.
2022-12-02 11:40:15 +06:00
Floris Hoogenboom
614bd87b60
Fix bug in validators documentation ( #8779 )
...
Function validators seem to have to return their value (which will become part of `validated_data`) as part of their signature.
2022-12-01 22:13:14 +06:00
juspence
1ae812ea20
Make browsable API compatbile with strong CSP ( #8784 )
...
Co-authored-by: Alexander Bliskovsky <abliskovsky@fusionbox.com>
2022-11-29 20:49:41 +00:00
Luka Jeran
6ec6ddea9b
Avoid inline script execution for injecting CSRF token ( #7016 )
...
Scripts with type="application/json" or "text/plain" are not executed, so we can
use them to inject dynamic CSRF data, without allowing inline-script execution
in Content-Security-Policy.
2022-11-29 16:10:32 +00:00
T. Franzel
f0095b4de2
Remove Core API mentions from docs ( #8780 )
...
* remove coreapi generator mentions & hidden docs
* remove coreapi doc & redirect broken links to github snapshot
2022-11-28 14:41:08 +01:00
T. Franzel
5435b2c9f0
mitigate global dependency on inflection #8017 ( #8781 )
2022-11-28 09:11:10 +06:00
Thomas Irgang
3bf611787a
Register Django urls ( #8778 )
...
Without adding the URLs manually, the users and groups APIs were not usable.
My env:
(venv) ➜ tutorial pip freeze
asgiref==3.5.2
astroid==2.12.13
autopep8==2.0.0
dill==0.3.6
Django==4.1.3
djangorestframework==3.14.0
isort==5.10.1
lazy-object-proxy==1.8.0
mccabe==0.7.0
platformdirs==2.5.4
pycodestyle==2.10.0
pylint==2.15.6
pylint-django==2.5.3
pylint-plugin-utils==0.7
pytz==2022.6
sqlparse==0.4.3
tomli==2.0.1
tomlkit==0.11.6
wrapt==1.14.1
2022-11-27 18:53:48 +06:00
Giebisch
4ef0fc1ca0
Implemented Verbose Name Translation for TokenProxy ( #8713 )
2022-11-27 16:45:54 +06:00
Peter Thomassen
52f4139674
Properly handle OverflowError in DurationField deserialization ( #8042 )
...
Related: https://github.com/django/django/pull/8870/files
2022-11-24 17:27:45 +06:00
Shinya Ohyanagi
9e328a9549
Fix OpenAPI operation name plural appropriately ( #8017 )
2022-11-24 13:48:05 +06:00
hashlash
ebde56b932
Represent SafeString as plain string on schema rendering. ( #8429 )
...
* Use SafeString.represent_str to represent SafeString as str
* Add SafeString yaml rendering test
2022-11-23 20:42:06 +06:00
Denny Biasiolli
c0d95cb967
Fix #8771 - Checking for authentication even if _ignore_model_permissions = True
( #8772 )
2022-11-22 20:21:16 +06:00
T. Franzel
b87699c034
Update schema generation doc & add deprecation notice #8453 ( #8773 )
...
* Update schema generation doc & add deprecation notice #8453
* Update docs/topics/documenting-your-api.md
Co-authored-by: Tom Christie <tom@tomchristie.com>
* Update docs/topics/documenting-your-api.md
Co-authored-by: Tom Christie <tom@tomchristie.com>
* Update docs/topics/documenting-your-api.md
Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: T. Franzel <13507857+tfranzel@users.noreply.github.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-22 19:53:54 +06:00
Géry Ogam
fd7d3a7b92
Update 6-viewsets-and-routers.md ( #8590 )
...
* Update 6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
* Update docs/tutorial/6-viewsets-and-routers.md
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
2022-11-22 14:39:26 +06:00
Subin Kim
8175f05c89
Added pagination settings test case ( #8362 )
2022-11-22 14:18:47 +06:00
Shi Pengtao
0ae3323bd2
fix 404 when page query parameter is empty string ( #8578 )
...
* fix 404 when page query parameter is empty string
* Update pagination.py
* Update pagination.py
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-22 12:37:31 +06:00
954
03c2ef1787
Fixes instance check in ListSerializer.to_representation ( #8726 ) ( #8727 )
...
* Fixes 'RelatedManager' object is not iterable in ListSerializer.to_representation.(#8726 )
* Change to only BaseManager
* Commit unit test
* Update tests/test_serializer_lists.py
* Update tests/test_serializer_lists.py
* Update tests/test_serializer_lists.py
* Update tests/test_serializer_lists.py
* Update tests/test_serializer_lists.py
* Update tests/test_serializer_lists.py
* Format import
* Format import
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
2022-11-22 12:01:01 +06:00
Jason Joy Atsu Winmorre
9e56f54efb
FloatField will crash if the input is a number that is too big ( #8725 )
...
* FloatField will crash if the input is a number that is too big
* Added Unit test for float field overflow error catch
* Removed random import
* Removed additional imported ValidationError
* Update rest_framework/fields.py
* Update tests/test_fields.py
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
2022-11-22 11:15:25 +06:00
smt-insens
dc300aa4e0
[FIX] add missing DurationField to SimpleMetada label_lookup ( #8702 )
2022-11-21 20:33:19 +06:00
Asif Saif Uddin
751808c59b
converted assertion to pytest style in test status ( #8769 )
2022-11-21 11:32:07 +00:00
Paolo Melchiorre
2a2b092864
Fix #8751 - Add support to Python 3.11 ( #8752 )
2022-11-21 11:47:21 +01:00
Asif Saif Uddin
cac89ae65d
update minimum version to psycopg2-binary>=2.9.5 ( #8767 )
2022-11-18 15:32:10 +00:00
Asif Saif Uddin
21fdf066b4
pytest versions update ( #8745 )
...
* pytest versions update
* pytest>=7.0.0,<8.0
* pytest>=7.2.0,<8.0
* pytest>=6.2.0,<8.0
2022-11-18 11:09:05 +00:00
Manos
df60510db5
Add 3rd party entry for rest-framework-roles ( #8755 )
2022-11-17 14:13:18 +00:00
Ilaletdinov Almaz
3e052376ac
Added http 102, 103, 421, and 425 status codes in documentation ( #8763 )
2022-11-17 13:13:09 +00:00
Clemens Wolff
759fc6f42e
Make request consistently available in pagination classes ( #8764 )
...
* Store request in CursorPagination field
* Define request at start of pagination entrypoint
2022-11-17 12:47:47 +00:00
Henrik Wahlgren
d5f228dd00
Possibility to remove trailing zeros on DecimalFields representation ( #6514 )
...
* Added normalize parameter to DecimalField to be able to strip trailing zeros. Fixes #6151 .
* Updated docs to include normalize option on DecimalField
* Fixed linting error in test_fields
* Removed comment and renamed normalize to normalize_output as suggested in code review
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-16 14:31:50 +00:00
Stanislav Levin
78cdae6999
Fix Pytest's deprecation warnings about nose usage ( #8758 )
...
Pytest 7.2.0 deprecated plain `setup` and `teardown` functions and
methods as nose idioms:
https://docs.pytest.org/en/latest/changelog.html#pytest-7-2-0-2022-10-23
`setup` can be safely replaced with `setup_method`:
https://docs.pytest.org/en/stable/deprecations.html#setup-teardown
Fixes: https://github.com/encode/django-rest-framework/issues/8757
Signed-off-by: Stanislav Levin <slev@altlinux.org>
Signed-off-by: Stanislav Levin <slev@altlinux.org>
2022-11-15 12:29:15 +00:00
Lewis M. Kabui
ae7a2b0dfa
Remove extraneous word "Both" ( #8740 )
...
* Remove extraneous word "Both"
* Update Multiparser docs
Co-authored-by: Lewis Kabui <lewisemm@users.noreply.github.com>
2022-11-10 10:31:06 +00:00
Thomas
1142ee5fc1
Update jobs.md ( #8737 )
...
Update remoteok.io to remoteok.com
Add pyjobs.com
2022-11-02 11:10:45 +00:00
Géry Ogam
2510456817
Update quickstart.md ( #8575 )
...
* Update quickstart.md
* Use PEP 8 compliant import
* Remove unauthorized password by Django (too common)
2022-10-20 15:32:25 +01:00
Francisco Couzo
041b88f8bb
Improve style, fix some typos ( #8405 )
...
* Improve style, fix some typos
* Update docs/api-guide/fields.md
Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-10-19 11:20:11 +01:00
Elton Maiyo
e354331743
Fixes typo ( #8719 )
2022-10-19 11:11:09 +01:00
Den
35c5be6ec2
Add a method for getting serializer field name (OpenAPI) ( #7493 )
...
* Add a method for getting serializer field name
* Add docs and test
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-10-17 10:47:45 +01:00