Serializéry v DRF: od ModelSerializer po vlastní logiku

Podíváme se na Serializéry — jádro DRF. Ukážeme si rozdíl mezi Serializer a ModelSerializer a jak přidat vlastní logiku validace a transformace dat.

Serializéry v DRF: od ModelSerializer po vlastní logiku

Serializéry převádějí Django modely na JSON a zpět. DRF nabízí jak základní Serializer, tak zkrácenou verzi ModelSerializer.

Základní ModelSerializer

from rest_framework import serializers\nfrom .models import Post \nclass PostSerializer(serializers.ModelSerializer):     class Meta:         model = Post         fields = ['id', 'title', 'body']

Vlastní logika

class PostSerializer(serializers.ModelSerializer):     word_count = serializers.SerializerMethodField()      def get_word_count(self, obj):         return len(obj.body.split())      class Meta:         model = Post         fields = ['id', 'title', 'body', 'word_count']

Serializéry lze validovat přes metody validate() nebo validate_field(). V příštím článku se zaměříme na Views a ViewSety.

@admin

3. srpna 2025


Komentáře 0