Files
edx-platform/lms/djangoapps/experiments/serializers.py

34 lines
1.1 KiB
Python

"""
Experimentation serializers
"""
from django.contrib.auth import get_user_model
from rest_framework import serializers
from .models import ExperimentData, ExperimentKeyValue
User = get_user_model() # pylint:disable=invalid-name
class ExperimentDataCreateSerializer(serializers.ModelSerializer): # lint-amnesty, pylint: disable=missing-class-docstring
user = serializers.SlugRelatedField(slug_field='username', default=serializers.CurrentUserDefault(), required=False,
queryset=User.objects.all())
class Meta:
model = ExperimentData
fields = ('id', 'experiment_id', 'user', 'key', 'value', 'created', 'modified',)
class ExperimentDataSerializer(serializers.ModelSerializer):
user = serializers.SlugRelatedField(read_only=True, slug_field='username', default=serializers.CurrentUserDefault())
class Meta(ExperimentDataCreateSerializer.Meta):
read_only_fields = ('user',)
class ExperimentKeyValueSerializer(serializers.ModelSerializer):
class Meta:
model = ExperimentKeyValue
fields = ('id', 'experiment_id', 'key', 'value', 'created', 'modified',)