Using Serializer FieldsPreparing for This ChapterCreate a SerializerViewsClass-Based ViewsFunction-Based ViewsImplement Class-Based View for the ProjectSerializer Advanced ConceptsNested SerializerRelational FieldsPrimaryKeyRelatedFieldStringRelatedFieldHyperlinkedRelatedFieldHyperlinkedIdentityFieldDifference Between HyperlinkedRelatedField and HyperlinkedIdentityFieldSlugRelatedFieldCreate a New ObjectSerializer ValidationField-Level ValidationObject-Level ValidationGet a Single ObjectUpdate an ObjectDelete an ObjectStatus CodeHTTP_100_CONTINUEHTTP_101_SWITCHING_PROTOCOLSHTTP_200_OKHTTP_201_CREATEDHTTP_202_ACCEPTEDHTTP_203_NON_AUTHORITATIVE_INFORMATIONHTTP_204_NO_CONTENTHTTP_205_RESET_CONTENTHTTP_206_PARTIAL_CONTENTHTTP_300_MULTIPLE_CHOICESHTTP_301_MOVED_PERMANENTLYHTTP_302_FOUNDHTTP_303_SEE_OTHERHTTP_304_NOT_MODIFIEDHTTP_305_USE_PROXYHTTP_306_RESERVEDHTTP_307_TEMPORARY_REDIRECTHTTP_308_PERMANENT_REDIRECTHTTP_400_BAD_REQUESTHTTP_401_UNAUTHORIZEDHTTP_402_PAYMENT_REQUIREDHTTP_403_FORBIDDENHTTP_404_NOT_FOUNDHTTP_405_METHOD_NOT_ALLOWEDHTTP_406_NOT_ACCEPTABLEHTTP_407_PROXY_AUTHENTICATION_REQUIREDHTTP_408_REQUEST_TIMEOUTHTTP_409_CONFLICTHTTP_410_GONEHTTP_411_LENGTH_REQUIREDHTTP_412_PRECONDITION_FAILEDHTTP_413_REQUEST_ENTITY_TOO_LARGEHTTP_414_REQUEST_URI_TOO_LONGHTTP_415_UNSUPPORTED_MEDIA_TYPEHTTP_416_REQUESTED_RANGE_NOT_SATISFIABLEHTTP_417_EXPECTATION_FAILEDHTTP_422_UNPROCESSABLE_ENTITYHTTP_423_LOCKEDHTTP_424_FAILED_DEPENDENCYHTTP_426_UPGRADE_REQUIREDHTTP_428_PRECONDITION_REQUIREDHTTP_429_TOO_MANY_REQUESTSHTTP_431_REQUEST_HEADER_FIELDS_TOO_LARGEHTTP_451_UNAVAILABLE_FOR_LEGAL_REASONSHTTP_500_INTERNAL_SERVER_ERRORHTTP_501_NOT_IMPLEMENTEDHTTP_502_BAD_GATEWAYHTTP_503_SERVICE_UNAVAILABLEHTTP_504_GATEWAY_TIMEOUTHTTP_505_HTTP_VERSION_NOT_SUPPORTEDHTTP_506_VARIANT_ALSO_NEGOTIATESHTTP_507_INSUFFICIENT_STORAGEHTTP_508_LOOP_DETECTEDHTTP_510_NOT_EXTENDEDHTTP_511_NETWORK_AUTHENTICATION_REQUIREDModelSerializerSpecifying Which Fields to IncludeSpecifying Nested SerializationSpecifying Fields ExplicitlySpecifying Read-Only FieldsAdditional Keyword ArgumentsCustomizing Field MappingsThe field_class and field_kwargs APIHyperlinkedModelSerializerListSerializerBaseSerializerAdvanced Serializer UsageSerializer ContextSource KeywordSerializers Initial DataGeneric ViewsGenericAPIViewAttributesMethodsOther MethodsMixinsUse of MixinsListModelMixinCreateModelMixinRetrieveModelMixinUpdateModelMixinDestroyModelMixinSave and Deletion HooksConcrete View ClassesCreateAPIViewListAPIViewRetrieveAPIViewDestroyAPIViewUpdateAPIViewListCreateAPIViewRetrieveUpdateAPIViewRetrieveDestroyAPIViewRetrieveUpdateDestroyAPIViewCustomizing the Generic ViewsCreating Custom MixinsCreating Custom Base Classes