You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/api-guide/validators.md
+3-5Lines changed: 3 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -173,11 +173,9 @@ If you want the date field to be entirely hidden from the user, then use `Hidden
173
173
# Advanced field defaults
174
174
175
175
Validators that are applied across multiple fields in the serializer can sometimes require a field input that should not be provided by the API client, but that *is* available as input to the validator.
176
+
For this purposes use `HiddenField`. This field will be present in `validated_data` but *will not* be used in the serializer output representation.
176
177
177
-
Two patterns that you may want to use for this sort of validation include:
178
-
179
-
* Using `HiddenField`. This field will be present in `validated_data` but *will not* be used in the serializer output representation.
180
-
* Using a standard field with `read_only=True`, but that also includes a `default=…` argument. This field *will* be used in the serializer output representation, but cannot be set directly by the user.
178
+
**Note:** Using a `read_only=True` field is excluded from writable fields so it won't use a `default=…` argument. Look [3.8 announcement](https://www.django-rest-framework.org/community/3.8-announcement/#altered-the-behaviour-of-read_only-plus-default-on-field).
181
179
182
180
REST framework includes a couple of defaults that may be useful in this context.
183
181
@@ -189,7 +187,7 @@ A default class that can be used to represent the current user. In order to use
189
187
default=serializers.CurrentUserDefault()
190
188
)
191
189
192
-
####CreateOnlyDefault
190
+
####CreateOnlyDefault
193
191
194
192
A default class that can be used to *only set a default argument during create operations*. During updates the field is omitted.
0 commit comments