class CategorySerializer(serializers.ModelSerializer): id = serializers.IntegerField(read_only=True) href = serializers.CharField() version = serializers.CharField() lastUpdate = serializers.DateTimeField() lifecycleStatus = serializers.CharField() validFor = serializers.ForeignKey(ValidFor) parentId = serializers.CharField() isRoot = serializers.CharField() name = serializers.TextField() description = serializers.TextField() def create(self, validated_data): return Category.objects.create(**validated_data) def update(self, instance, validated_data): instance.href = validated_data.get('href', instance.href) instance.version = validated_data.get('version', instance.version) instance.lastUpdate = validated_data.get('lastUpdate', instance.lastUpdate) instance.lifecycleStatus = validated_data.get('lifecycleStatus', instance.lifecycleStatus) instance.validFor = validated_data.get('validFor', instance.validFor) instance.parentId = validated_data.get('parentId', instance.parentId) instance.isRoot = validated_data.get('isRoot', instance.isRoot) instance.name = validated_data.get('name', instance.name) instance.description = validated_data.get('description', instance.description) instance.save() return instance
class ContactSerializer(serializers.ModelSerializer): id = serializers.IntegerField(read_only=True) phone = serializers.CharField() name = serializers.CharField() list = serializers.ForeignKey(read_only=True) class Meta: model = Contact fields = ['id', 'name', 'phone', 'list']
class AccessibleChoiceSerializer(serializers.Serializer): access = serializers.CharField(max_length=8) user = serializers.ForeignKey(User, related_name='access_code') email = serializers.EmailField(max_length=255) status = serializers.ChoiceField( max_length=10, choices=ACCESS_CODE_STATUS_CHOICE, ) class Meta: model = AccessibleChoice fields = ['access', 'user', 'email', 'status']
class ChoiceSerializer(serializers.Serializer): id = serializers.IntegerField(read_only=True) question = serializers.ForeignKey(Question, on_delete=models.CASCADE) choice_text = serializers.CharField(required=False, allow_blank=True, max_length=100) votes = serializers.IntegerField() def create(self, validated_data): """ Create and return a new `Snippet` instance, given the validated data. """ return Snippet.objects.create(**validated_data) def update(self, instance, validated_data): """ Update and return an existing `Snippet` instance, given the validated data. """ instance.title = validated_data.get('title', instance.title) instance.code = validated_data.get('code', instance.code) instance.save() return instance
class ProfileSerializer(serializers.Serializer): user = serializers.ForeignKey( settings.AUTH_USER_MODEL, on_delete=serializers.CASCADE, ) position = serializers.CharField(max_length=128) location = serializers.CharField(max_length=1024) skills = serializers.CharField(max_length=500) def create(self, validated_data): """ Create and return a new `Profile` instance, given the validated data. """ return Profile.objects.create(**validated_data) def update(self, instance, validated_data): """ Update and return an existing `Profile` instance, given the validated data. """ instance.user_id = validated_data.get('user_id', instance.user_id) instance.position = validated_data.get('position', instance.position) instance.location = validated_data.get('location', instance.location) instance.skills = validated_data.get('skills', instance.skills) instance.save()
class SnippetSerializer(serializers.ModelSerializer): title = serializers.CharField(allow_blank=True) PYTHON = 'python' JAVASCRIPT = 'js' HTML = 'html' LUA = 'lua' CSS = 'css' CLIKE = 'clike' MARKUP = 'markup' HTML = 'html' BASH = 'bash' DJANGO = 'django' GO = 'go' JSON = 'json' HTTP = 'http' PHP = 'php' RUBY = 'ruby' SAS = 'sas' SASS = 'sass' SCSS = 'scss' SQL = 'sql' LANGUAGE_CHOICES = [ (PYTHON, 'python'), (JAVASCRIPT, 'js'), (HTML, 'html'), (LUA, 'lua'), (CSS, 'css'), (CLIKE, 'clike'), (MARKUP, 'markup'), (HTML, 'html'), (BASH, 'bash'), (DJANGO, 'django'), (GO, 'go'), (JSON, 'json'), (HTTP, 'http'), (PHP, 'php'), (RUBY, 'ruby'), (SAS, 'sas'), (SASS, 'sass'), (SCSS, 'scss'), (SQL, 'sql'), ] languages = serializers.CharField( max_length=7, choices=LANGUAGE_CHOICES, default=HTML, ) code = serializers.TextField(max_length=None, min_length=None, allow_blank=False, trim_whitespace=True) description = serializers.TextField(max_length=200, null=True, allow_blank=True) creator = serializers.ForeignKey(to=CustomUser) date_added = serializers.DateTimeField(auto_now_add=True) class Meta: model = Snippet fields = [ 'title', 'languages', 'code', 'description', 'creator', 'date_added', 'pk' ]