diff --git a/api-guide/fields/index.html b/api-guide/fields/index.html index acf810963..1f0f70a0c 100644 --- a/api-guide/fields/index.html +++ b/api-guide/fields/index.html @@ -682,10 +682,6 @@ Set to false if this field is not required to be present during deserialization.

When serializing the instance, default will be used if the object attribute or dictionary key is not present in the instance.

Note that setting a default value implies that the field is not required. Including both the default and required keyword arguments is invalid and will raise an error.

-

Notes regarding default value propagation from model to serializer:

-

All the default values from model will pass as default to the serializer and the options method.

-

If the default is callable then it will be propagated to & evaluated every time in the serializer but not in options method.

-

If the value for given field is not given then default value will be present in the serializer and available in serializer's methods. Specified validation on given field will be evaluated on default value as that field will be present in the serializer.

allow_null

Normally an error will be raised if None is passed to a serializer field. Set this keyword argument to True if None should be considered a valid value.

Note that, without an explicit default, setting this argument to True will imply a default value of null for serialization output, but does not imply a default for input deserialization.

diff --git a/api-guide/permissions/index.html b/api-guide/permissions/index.html index c9ab6ad65..2cdf7a7f9 100644 --- a/api-guide/permissions/index.html +++ b/api-guide/permissions/index.html @@ -666,12 +666,11 @@ class ExampleView(APIView):

DjangoModelPermissions

This permission class ties into Django's standard django.contrib.auth model permissions. This permission must only be applied to views that have a .queryset property or get_queryset() method. Authorization will only be granted if the user is authenticated and has the relevant model permissions assigned. The appropriate model is determined by checking get_queryset().model or queryset.model.

-

The default behaviour can also be overridden to support custom model permissions.

+

The default behavior can also be overridden to support custom model permissions. For example, you might want to include a view model permission for GET requests.

To use custom model permissions, override DjangoModelPermissions and set the .perms_map property. Refer to the source code for details.

DjangoModelPermissionsOrAnonReadOnly

Similar to DjangoModelPermissions, but also allows unauthenticated users to have read-only access to the API.

diff --git a/api-guide/schemas/index.html b/api-guide/schemas/index.html index 91c5cb3ff..b818aa16e 100644 --- a/api-guide/schemas/index.html +++ b/api-guide/schemas/index.html @@ -495,11 +495,12 @@ can interact with your API.

The following sections explain more.

Generating an OpenAPI Schema

Install dependencies

-
pip install pyyaml uritemplate
+
pip install pyyaml uritemplate inflection
 

Generating a static schema with the generateschema management command

If your schema is static, you can use the generateschema management command:

diff --git a/community/3.15-announcement/index.html b/community/3.15-announcement/index.html index b84e062c6..e4ba1d5aa 100644 --- a/community/3.15-announcement/index.html +++ b/community/3.15-announcement/index.html @@ -425,10 +425,6 @@ Primary Support of UniqueConstraint -
  • - ValidationErrors improvements -
  • -
  • SimpleRouter non-regex matching support
  • @@ -441,10 +437,6 @@ Align SearchFilter behaviour to django.contrib.admin search -
  • - Default values propagation -
  • -
  • Other fixes and improvements
  • @@ -490,16 +482,12 @@

    The current minimum versions of Django still is 3.0 and Python 3.6.

    Primary Support of UniqueConstraint

    ModelSerializer generates validators for UniqueConstraint (both UniqueValidator and UniqueTogetherValidator)

    -

    ValidationErrors improvements

    -

    The ValidationError has been aligned with Django's, currently supporting the same style (signature) and nesting.

    SimpleRouter non-regex matching support

    By default the URLs created by SimpleRouter use regular expressions. This behavior can be modified by setting the use_regex_path argument to False when instantiating the router.

    ZoneInfo as the primary source of timezone data

    Dependency on pytz has been removed and deprecation warnings have been added, Django will provide ZoneInfo instances as long as USE_DEPRECATED_PYTZ is not enabled. More info on the migration can be found in this guide.

    Searches now may contain quoted phrases with spaces, each phrase is considered as a single search term, and it will raise a validation error if any null-character is provided in search. See the Filtering API guide for more information.

    -

    Default values propagation

    -

    Model fields' default values are now propagated to serializer fields, for more information see the Serializer fields API guide.

    Other fixes and improvements

    There are a number of fixes and minor improvements in this release, ranging from documentation, internal infrastructure (typing, testing, requirements, deprecation, etc.), security and overall behaviour.

    See the release notes page for a complete listing.

    diff --git a/community/release-notes/index.html b/community/release-notes/index.html index 3f95891b6..a26ef056d 100644 --- a/community/release-notes/index.html +++ b/community/release-notes/index.html @@ -537,11 +537,17 @@

    3.15.x series

    +

    3.15.1

    +

    Date: 22nd March 2024

    +

    3.15.0

    Date: 15th March 2024

    Misc