Reputation: 1119
I have modified my serializers fields by as follow,
class UserSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(source='user_id')
name = serializers.CharField(source='get_name')
email = serializers.EmailField(source='user_email')
dob = serializers.DateField(source='user_dob')
contactNo = serializers.CharField(source='user_mobileno')
image = serializers.CharField(source='user_image')
bloodGroup = serializers.CharField(source='user_blood_group')
location = serializers.CharField(source='user_location_id.location_name')
profession = serializers.CharField(source='user_profession')
fbId = serializers.CharField(source='user_fb_id')
userId = serializers.CharField(source='user_random_id')
class Meta:
model = UserInfo
# fields = ['user_id','get_name']
fields = ["id", "name", "email", "dob", "contactNo", "image", "bloodGroup", "location", "profession", "fbId", "userId"]
Now when i make a create request using following code form views.py,
def create(self, request, *args, **kwargs):
# partial = kwargs.pop('partial', True)
serializer = self.get_serializer(data=request.data, partial=True)
print("kwargs------------>",serializer)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
# headers = self.get_success_headers(serializer.data)
response = {
"status" : status.HTTP_201_CREATED,
"message" : "User Created.",
"response" : serializer.data
}
return Response(response)
It's giving me the following error
IntegrityError: (1048, "Column 'user_dob' cannot be null")
Even after setting partial=True its not working.
PUT request is also not working, Its not updating the data
def update(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data, partial=True)
# serializer = self.get_serializer(instance, data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_update(serializer)
response = {
"status" : status.HTTP_200_OK,
"message" : "User Detail Updated.",
"response" : serializer.data
}
return Response(response)
Can anyone help me wth this?
Following are my post params
Upvotes: 2
Views: 1128
Reputation: 461
Since you are using a serializer that maps your "user_dob" field with "dob" you should pass parameter according to name provided in serialzers.
Upvotes: 2