serializers.py 1.06 KB
Newer Older
1
from django.contrib.auth import get_user_model
2 3
from rest_framework import serializers

4
from .models import ExperimentData, ExperimentKeyValue
5

6
User = get_user_model()  # pylint:disable=invalid-name
7

8 9 10 11

class ExperimentDataCreateSerializer(serializers.ModelSerializer):
    user = serializers.SlugRelatedField(slug_field='username', default=serializers.CurrentUserDefault(), required=False,
                                        queryset=User.objects.all())
12 13 14 15

    class Meta(object):
        model = ExperimentData
        fields = ('id', 'experiment_id', 'user', 'key', 'value', 'created', 'modified',)
16 17 18 19 20 21


class ExperimentDataSerializer(serializers.ModelSerializer):
    user = serializers.SlugRelatedField(read_only=True, slug_field='username', default=serializers.CurrentUserDefault())

    class Meta(ExperimentDataCreateSerializer.Meta):
22
        read_only_fields = ('user',)
23 24 25 26 27 28


class ExperimentKeyValueSerializer(serializers.ModelSerializer):
    class Meta(object):
        model = ExperimentKeyValue
        fields = ('id', 'experiment_id', 'key', 'value', 'created', 'modified',)