Python Django rest框架后获取序列化程序
我是Django rest框架序列化程序的新手 我有一个用于GET请求的序列化程序Python Django rest框架后获取序列化程序,python,django,django-rest-framework,serialization,Python,Django,Django Rest Framework,Serialization,我是Django rest框架序列化程序的新手 我有一个用于GET请求的序列化程序 class MemberChargeSerializer(serializers.ModelSerializer): chargeTypeName = serializers.CharField( source='chargeType.memberChargeTypeName', read_only=True) firstName = serializers.Ch
class MemberChargeSerializer(serializers.ModelSerializer):
chargeTypeName = serializers.CharField(
source='chargeType.memberChargeTypeName',
read_only=True)
firstName = serializers.CharField(
source='user.first_name',
read_only=True)
lastName = serializers.CharField(
source='user.last_name',
read_only=True)
class Meta:
model = MemberCharge
fields = ('id', 'chargeTypeName', 'firstName', 'lastName', 'amount',
'amountPaid', 'fullyPaid', 'date', 'void')
它工作得很好。现在,我需要做一些事情来处理POST
请求。我不会在请求中提交以下字段:id
,firstName
,lastName
,fullyPaid
。我正在考虑实现另一个序列化程序来处理我的POST
请求。这样做对吗?请记住,我将提交其他字段,而不是使用某些字段
谢谢。序列化程序可用于get和post请求。它基本上取决于模型字段选项
对于post请求仅使用字段“id”、“firstName”、“lastName”、“fullyPaid”,您的其他字段必须是可选的,然后只有您才能调用序列化程序的有效方法
例如
对于其他字段,请使用blank=True,这将使字段成为可选字段
chargeTypeName = models.CharField(max_length=6, blank=True)
序列化程序可用于get和post请求。它基本上取决于模型字段选项
对于post请求仅使用字段“id”、“firstName”、“lastName”、“fullyPaid”,您的其他字段必须是可选的,然后只有您才能调用序列化程序的有效方法
例如
对于其他字段,请使用blank=True,这将使字段成为可选字段
chargeTypeName = models.CharField(max_length=6, blank=True)
序列化程序可用于get和post请求。它基本上取决于模型字段选项
对于post请求仅使用字段“id”、“firstName”、“lastName”、“fullyPaid”,您的其他字段必须是可选的,然后只有您才能调用序列化程序的有效方法
例如
对于其他字段,请使用blank=True,这将使字段成为可选字段
chargeTypeName = models.CharField(max_length=6, blank=True)
序列化程序可用于get和post请求。它基本上取决于模型字段选项
对于post请求仅使用字段“id”、“firstName”、“lastName”、“fullyPaid”,您的其他字段必须是可选的,然后只有您才能调用序列化程序的有效方法
例如
对于其他字段,请使用blank=True,这将使字段成为可选字段
chargeTypeName = models.CharField(max_length=6, blank=True)
我添加了blank=True参数,当我尝试在浏览器上检索某个对象或对象集合时,出现以下错误:\uuuu init\uuuu()得到一个意外的关键字参数“blank”。我在序列化程序中输入了该参数,它应该在模型中。所以重要的是如何定义模型以验证或使序列化程序中的数据无效。您还可以通过覆盖serializerI added blank=True参数的is_valid函数来添加其他自定义验证,当我尝试在浏览器上检索对象或对象集合时,我会出现以下错误:__init_u;()得到一个意外的关键字参数“blank”。我在序列化程序中输入了该参数,它应该在模型中。所以重要的是如何定义模型以验证或使序列化程序中的数据无效。您还可以通过覆盖serializerI added blank=True参数的is_valid函数来添加其他自定义验证,当我尝试在浏览器上检索对象或对象集合时,我会出现以下错误:__init_u;()得到一个意外的关键字参数“blank”。我在序列化程序中输入了该参数,它应该在模型中。所以重要的是如何定义模型以验证或使序列化程序中的数据无效。您还可以通过覆盖serializerI added blank=True参数的is_valid函数来添加其他自定义验证,当我尝试在浏览器上检索对象或对象集合时,我会出现以下错误:__init_u;()得到一个意外的关键字参数“blank”。我在序列化程序中输入了该参数,它应该在模型中。因此,重要的是如何定义模型来验证或使序列化程序中的数据无效。您还可以通过重写序列化程序的is_valid函数来添加额外的自定义验证