Files
edx-platform/lms/djangoapps/experiments/serializers.py
M. Zulqarnain c9c14ee6fc BOM-2279 : Pylint amnesty for edxnotes,email_marketing, and experiments (#26274)
* lint amnesty for edxnotes,email_marketing, and experiments
2021-02-03 18:15:26 +05:00

34 lines
1.2 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(object):
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(object):
model = ExperimentKeyValue
fields = ('id', 'experiment_id', 'key', 'value', 'created', 'modified',)