我正在尝试创建一个RESTful API端点来创建新用户。serializer.py
class UserSerializer(serializers.ModelSerializer):
Class Meta:
model = User
field = ('name', 'division', 'image',)
extra_kwargs = {'division': {'required': False}}
def create(self, validated_data):
newUser = User.objects.create(
name = validated_data['name'],
division = validated_data['division']
image = validated_data['image']
)
return newUser;
现在我想做的是我想使部门可选,例如,如果输入部门是“教育”,那么把是作为教育是我的数据库表;但如果没有输入,就把它清空,怎么能实现呢?
3条答案
按热度按时间jmo0nnb31#
若要使字段成为可选字段,可以使用
extra_kwargs
指令。为了使其生效,必须在fields
中显式声明该字段。一般来说,尽量不要使用
fields = '__all__'
,而是显式声明字段,这样可以避免以后意外地暴露敏感字段。zpjtge222#
您可以尝试以下操作:
inn6fuwd3#
在模型定义中的字段上使用
null=True
和blank=True
,使这些字段成为可选字段。答案基于@slider在问题下的评论,