在django rest框架中如何在post api请求中提供json数据
我是Django rest框架的新手,请指导我在哪里犯了错误, 我想制作一个包含两个参数的API在django rest框架中如何在post api请求中提供json数据,django,api,rest,frameworks,Django,Api,Rest,Frameworks,我是Django rest框架的新手,请指导我在哪里犯了错误, 我想制作一个包含两个参数的API cat名称(即字符字段) cat字段(即JSON字段) 我想把动态JSON字段放在客户端上,比如他们将添加4个字段数据和JSON中的密钥对或任意数量的字段,我希望你们都能理解我的查询 请帮帮我,我会非常感谢你的帮助 这是我的观点 @api_视图(['POST'])) @parser_类([JSONParser]) def add_cateogry_和_字段(请求,格式=无): 如果request.m
@api_视图(['POST']))
@parser_类([JSONParser])
def add_cateogry_和_字段(请求,格式=无):
如果request.method==“POST”:
插入_Serializers=AddCategoryWithFieldsSerializer(数据=request.data)
如果插入\u序列化程序,\是否有效()
插入_序列化程序。保存()
返回响应(insert_Serializers.data,status=status.HTTP_201_CREATED)
其他:
返回响应(插入\u Serializers.data,status=status.HTTP\u 400\u BAD\u请求)
这是序列化程序类
序列化程序.py
类AddCategoryWithFieldsSerializer(ModelSerializer):
category\u name=serializers.CharField(最大长度=34)
category_fields=serializers.JSONField()
类元:
模型=类别模型
字段=('category\u name'、'category\u fields')
Model.py类是
class CategoryModel(models.Model):
category_id = models.AutoField(primary_key=True)
category_name = models.CharField(max_length=255)
category_fields = models.JSONField()
parent_category = models.ForeignKey('self', on_delete=models.CASCADE, null=True)
class Meta:
db_table = 'category'
您传递的JSON数据后面有一个逗号(
,
)
{
"category_name": "site",
"category_fields": {
"abc": "abc",
"def": "def"
}, # having comma here when there's nothing next to it will have error when parsed
}