Skip to content

Instantly share code, notes, and snippets.

View akshar-raaj's full-sized avatar
💭
Learning something new everyday!

Akshar Raaj akshar-raaj

💭
Learning something new everyday!
View GitHub Profile
@akshar-raaj
akshar-raaj / serializers.py
Created August 7, 2019 13:25
User serializer to_internal_value
def to_internal_value(self, data):
user_data = data['user']
return super().to_internal_value(user_data)
@akshar-raaj
akshar-raaj / serializers.py
Created August 7, 2019 13:21
User serializer with validate()
class UserSerializer(serializers.ModelSerializer):
def validate_password(self, value):
if value.isalnum():
raise serializers.ValidationError('password must have atleast one special character.')
return value
def validate(self, data):
if data['first_name'] == data['last_name']:
raise serializers.ValidationError("first_name and last_name shouldn't be same.")
@akshar-raaj
akshar-raaj / serializers.py
Created August 7, 2019 13:18
User serializer with validate_password
class UserSerializer(serializers.ModelSerializer):
def validate_password(self, value):
if value.isalnum():
raise serializers.ValidationError('password must have atleast one special character.')
return value
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name', 'password')
@akshar-raaj
akshar-raaj / serializers.py
Created August 7, 2019 13:16
User serializer
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name', 'password')
extra_kwargs = {
'password': {'write_only': True}
}
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('email', 'first_name', 'last_name')
def to_representation(self, instance):
representation = super().to_representation(instance)
if instance.is_superuser:
representation['admin'] = True
class UserSerializer(serializers.ModelSerializer):
groups = serializers.SerializerMethodField()
def get_groups(self, obj):
groups = obj.groups.all()
if not groups:
return None
return GroupSerializer(groups, many=True).data
class UserSerializer(serializers.ModelSerializer):
full_name = serializers.SerializerMethodField()
def get_full_name(self, obj):
return obj.get_full_name().upper()
class Meta:
model = User
fields = ('email', 'first_name', 'last_name', 'full_name')
class UserSerializer(serializers.ModelSerializer):
first_name = serializers.SerializerMethodField()
def get_first_name(self, obj):
return obj.first_name.title()
class Meta:
model = User
fields = ('email', 'first_name', 'last_name')
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('id', 'name')
class UserSerializer(serializers.ModelSerializer):
all_groups = GroupSerializer(source='groups', many=True)
from django.contrib.auth.models import Group
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('id', 'name')