|
|
from rest_framework import serializers
from api.models import Example from label_types.models import CategoryType, SpanType from .models import Category, Span, TextLabel, Relation
class CategorySerializer(serializers.ModelSerializer): label = serializers.PrimaryKeyRelatedField(queryset=CategoryType.objects.all()) example = serializers.PrimaryKeyRelatedField(queryset=Example.objects.all())
class Meta: model = Category fields = ( 'id', 'prob', 'user', 'example', 'created_at', 'updated_at', 'label', ) read_only_fields = ('user',)
class SpanSerializer(serializers.ModelSerializer): label = serializers.PrimaryKeyRelatedField(queryset=SpanType.objects.all()) example = serializers.PrimaryKeyRelatedField(queryset=Example.objects.all())
class Meta: model = Span fields = ( 'id', 'prob', 'user', 'example', 'created_at', 'updated_at', 'label', 'start_offset', 'end_offset', ) read_only_fields = ('user',)
class TextLabelSerializer(serializers.ModelSerializer): example = serializers.PrimaryKeyRelatedField(queryset=Example.objects.all())
class Meta: model = TextLabel fields = ( 'id', 'prob', 'user', 'example', 'created_at', 'updated_at', 'text', ) read_only_fields = ('user',)
class RelationSerializer(serializers.ModelSerializer):
def validate(self, attrs): return super().validate(attrs)
class Meta: model = Relation fields = ('id', 'annotation_id_1', 'annotation_id_2', 'type', 'user', 'timestamp')
|