I'm calling a simple get API using djangorestframework. My Model is
class Category(models.Model):
category_id = models.AutoField(primary_key=True)
category_name = models.CharField("Category Name", max_length = 30)
category_created_date = models.DateField(auto_now = True, auto_now_add=False)
category_updated_date = models.DateField(auto_now = True, auto_now_add=False)
def __str__(self):
return self.category_name
serializer.py
class CategorySerializer(serializers.ModelSerializer) :
class Meta:
model = Category
fields = ['category_id', 'category_name']
def category_list(request):
if request.method == 'GET':
categories = Category.objects.all()
serializer = CategorySerializer(categories, many=True)
return Response(serializer.data)
It's working fine when i hit request on the URL and returning following response.
[
{
"category_id": 1,
"category_name": "ABC"
}
]
i want to change the response field names as it's for my DB only and don't want to disclose in response. If i change the name in serializer class than it's giving no field match error.
Also i want to customise other params like above response in response object with message and status like below.
{
status : 200,
message : "Category List",
response : [
{
"id": 1,
"name": "ABC"
}
]
}
Need a proper guide and flow. Experts help.