【发布时间】:2017-01-12 11:25:32
【问题描述】:
我正在使用 djangorestframework 调用一个简单的 get API。我的模型是
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)
当我在 URL 上点击请求并返回以下响应时,它工作正常。
[
{
"category_id": 1,
"category_name": "ABC"
}
]
我想更改响应字段名称,因为它仅适用于我的数据库,并且不想在响应中披露。如果我在序列化程序类中更改名称,则不会出现字段匹配错误。
我还想在响应对象中自定义其他参数,如上面的响应,消息和状态如下所示。
{
status : 200,
message : "Category List",
response : [
{
"id": 1,
"name": "ABC"
}
]
}
需要适当的指导和流程。专家帮助。
【问题讨论】:
标签: python django django-rest-framework jsonserializer