Commit Graph

8602 Commits

Author SHA1 Message Date
Allan Lewis
224168a28f
exceptions.ErrorDetail: Handle NotImplemented correctly in __ne__ (#8538)
PR #7531 resolved issue #7433 by updating `ErrorDetails.__eq__` to correctly
handle the `NotImplemented` case. However, Python 3.9 continues to issue the
following warning:

    DeprecationWarning: NotImplemented should not be used in a boolean context

This is because `__ne__` still doesn't handle the `NotImplemented` case
correctly. In order to avoid this warning, this commit makes the same change
for `__ne__` as previously made for `__eq__`.
2022-08-01 15:18:22 +01:00
Sergey Lyapustin
a1b35bb44b
Use example.com domain in tests. (#8571)
* Use example.com domain for the samples.

* Fixed typo.
2022-07-25 10:28:41 +01:00
Carlton Gibson
ad282da97c
Replaced parse_header with parse_header_parameters. (#8556)
Add a backwards compatibility shim for Django versions that have no (or an incompatible)
django.utils.http.parse_header_parameters implementation.

Thanks to Shai Berger for review. 

Co-authored-by: Jaap Roes <jroes@leukeleu.nl>
2022-07-14 14:20:36 +02:00
Stanislav Khlud
101aff6c43
Make autogenerated read only fields to be able to be nullable (#8536) 2022-06-28 15:22:46 +01:00
Burak Kadir Er
9f07d9edeb
Make minor corrections in docs (#8525) 2022-06-24 14:21:51 +01:00
Felix Viernickel
129890ab1b
Fix error in throttling when request.user is None (#8370)
Check to see if request.user is set before proceeding with further
authentication checks.
2022-06-24 13:02:11 +01:00
Yuekui
2051a79da3
Fix "`" typo (#8529) 2022-06-24 12:08:18 +01:00
Stian Jensen
dba9493a90
Don't evaluate default_timezone unless needed (#8531)
If you set a custom timezone for a DateTimeField, the function
self.default_timezone() is still called, since fallback params to
getattr are still evaluated.

This rewrites to use hasattr, so the fallback case is only executed if
it will actually be used. If you render a lot of DateTimeFields in a
serializer, the time spent evaluating default_timezone() once for each
of them can accumulate to quite a bit, which is just unused work in the
case where timezone is already specified on the field.
2022-06-24 11:28:00 +01:00
Tom Christie
fa9d516ee2
Update docstring test for more recent pygments version (#8530)
* Update docstring test for more recent pygments version

* Drop unused import
2022-06-20 10:44:27 +01:00
Burak Kadir Er
2506d0b4f2
Update include and namespace URLs (#8520) 2022-06-09 15:30:47 +01:00
Alessandro
82475c232b
Made relative URLs clickable as well. (#8464) 2022-06-08 15:03:00 +01:00
Stephen Finucane
5185cc9348
Handle unset fields with 'many=True' (#7574)
* Handle unset fields with 'many=True'

The docs note:

  When serializing fields with dotted notation, it may be necessary to
  provide a `default` value if any object is not present or is empty
  during attribute traversal.

However, this doesn't work for fields with 'many=True'. When using
these, the default is simply ignored.

The solution is simple: do in 'ManyRelatedField' what we were already
doing for 'Field', namely, catch possible 'AttributeError' and
'KeyError' exceptions and return the default if there is one set.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Closes: #7550

* Add test cases for #7550

Signed-off-by: Stephen Finucane <stephen@that.guru>
2022-06-08 14:46:19 +01:00
Marti Raudsepp
26830c3d2d
Fix QueryDict type error in test (#8475)
QueryDict takes a `str` argument. Discovered while working on
djangorestframework-stubs.
2022-06-08 14:37:46 +01:00
itsdkey
e7af8d662b
tests for #5127 (#7715)
* tests for #5127

* Resolves #5127
2022-06-08 13:41:26 +01:00
Patrick Daley
f8a03b096b
Remove pluralisation from basenames (#8517)
HyperlinkIdentityFields in serializers reference 'snippet-highlight' and 'snippet-detail', router basenames updated to match.
2022-06-07 12:35:01 +01:00
Grigory
1396f6886a
Respect model error_messages for relation (#7599) 2022-06-06 13:53:42 +01:00
Alan Crosswell
563a20a040
make get_reference public (#7515) 2022-06-06 13:44:02 +01:00
Daniel Gilge
bb7dcef19b
Update get_schema in docs (#7402) 2022-06-06 13:31:00 +01:00
Krukov D
281fc074ba
improve performance for noncallble attributes (#8502)
Co-authored-by: Dima Kryukov <dmitry.kryukov@pandadoc.com>
2022-06-06 12:54:57 +01:00
ghazi-git
292ead1fe0
add drf-standardized-errors to third party packages (#8487)
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-06-06 12:46:11 +01:00
Leonardo Gregianin
5471f8a1d9
Added django-requestlogs in third party packages (#8497) 2022-06-06 12:39:36 +01:00
Mariusz Felisiak
333f1ffb94
Confirmed support for Django 4.1. (#8498) 2022-06-06 12:39:06 +01:00
Tom Christie
7069083b0f Promote Spacinov to premium sponsorship 2022-06-06 11:07:25 +01:00
Tom Christie
ce21454a43 Update homepage sponsors 2022-06-06 11:00:01 +01:00
Tom Christie
e5fb9af0ea Add FEZTO as a premium sponsor 2022-05-26 11:19:09 +01:00
Tom Christie
449ce6cc75 Resize sponsor images 2022-05-26 10:48:08 +01:00
Tom Christie
ed00e11cc5 Add FEZTO 2022-05-26 10:40:46 +01:00
Tom Christie
33b86a8e53
Recommend Django REST Knox (#8490)
* Recommend Django REST Knox

* Pin jinja2 to fix docs builds
2022-05-18 13:10:38 +01:00
Q_back
cdc956a96c
Update description of docs/api-guide/fields.md -> required (#8476)
fix: Documentation did not point out that default value of `required`
`Field` parameter is `False` depending on the Django's `Model.field`.
2022-05-03 11:10:37 +01:00
Aarni Koskela
b1004a4733
docs: Add a note on concurrency and races (#6950)
Refs #5181

Co-authored-by: Adam Johnson <me@adamj.eu>
2022-04-24 23:16:18 +01:00
Kojo Idrissa
86673a337a
corrected grammar to improve clarity (#8466) 2022-04-14 21:00:38 +01:00
hashlash
df92e57ad6
Added test client support for HTTP 307 and 308 redirects (#8419)
* Add retain test data on follow=True

* Simplify TestAPITestClient.test_follow_redirect

Inspired from Django's ClientTest.test_follow_307_and_308_redirect

* Add 307 308 follow redirect test
2022-03-24 09:57:42 +00:00
Tom Christie
df4d16d2f1
Add StaleBot (#8423) 2022-03-24 09:23:16 +00:00
Wagner de Lima
7e4e6d2070
docs: include drf-social-oauth2 to docs. (#8310)
django-rest-framework-social-oauth2 is not a maintained library anymore.
2022-03-23 12:09:05 +00:00
Shivendra Pratap Kushwaha
4464ce7270
Link added for Test Case Classes and corrected stable link for Refresh from DB (#8381)
Link added for Test Case Classes and corrected stable link for Refresh from DB.
2022-03-23 12:07:44 +00:00
Tom Christie
a4334a8126
Update contribution guidelines (#8422) 2022-03-23 11:52:45 +00:00
Tom Christie
75f1998123
Update throttling docs (#8424) 2022-03-23 11:52:26 +00:00
Mariusz Felisiak
0b88583a10
Bumped versions in Github actions configuration to v3. (#8414) 2022-03-23 11:28:46 +00:00
Tom Christie
070c32f4a6
Update SECURITY.md (#8412) 2022-03-16 12:12:25 +00:00
baseplate-admin
b521160c92
Fix code block in README.md (#8408)
Hi there,

The code block below show imply `Python` as it lives in `settings.py`

```
INSTALLED_APPS = [
    ...
    'rest_framework',
]
```

This pull request essentially fixes that.
2022-03-16 11:35:24 +00:00
Tom Christie
b3083d83ae
Update index.md (#8411)
Update security email.
2022-03-16 11:35:04 +00:00
Tom Christie
0e3bc2b1e0
Throttling disclaimer (#8403)
* Throttling disclaimer

* Expand throttling disclaimer.
2022-03-11 10:58:59 +00:00
Timothy Allen
a53e523f93
We've renamed the drf-renderer-xlsx package to drf-excel. (#8396) 2022-03-08 10:39:16 +00:00
Josh
efc7c1d664
Update accepted_media_type argument in Renderer docs (#8364) 2022-02-12 16:21:59 +00:00
Partho Kumar Rajvor
5bea22f321
Added http 102, 103, 421, and 425 status codes (#8350) 2022-02-03 11:57:47 +00:00
Bhuwan Panta
c26ec5a3b8
Update 6-viewsets-and-routers.md (#8349)
# Basename key missing in the tutorial
```diff
+router.register(r'snippets', views.SnippetViewSet,basename="snippets")
+router.register(r'users', views.UserViewSet,basename="users")
-router.register(r'snippets', views.SnippetViewSet)
-router.register(r'users', views.UserViewSet)
```
2022-02-01 13:48:22 +00:00
Tom Christie
a5d741aba4
Update renderers.py 2022-02-01 09:42:43 +00:00
Sevdimali
f378f98a40
if else optimization (#8340)
Removed redundant parentheses
2022-01-27 15:02:20 +00:00
denniskloyn
02eeb6fa00
Change MIDDLEWARE_CLASSES to MIDDLEWARE (#8333)
The `MIDDLEWARE_CLASSES` setting got changed to `MIDDLEWARE` in [Django 1.10](https://docs.djangoproject.com/en/1.10/topics/http/middleware/).
2022-01-18 08:52:11 +00:00
Shivendra Pratap Kushwaha
94eb804abe
Update filtering.md (#8331) 2022-01-17 09:41:23 +00:00