0
如果我有一個模型序列化程序,其中數據庫模型中不需要first_name和last_name(blank = True,null = True,default = None),並且我選擇提交可能包含或不包含「first_name 「或」last_name「字段,不應該在validated_data []中存在這些字段,無論它們是否未通過json請求提交,因爲它們在序列化程序字段中列出並且其默認值設置爲None?爲什麼不能選擇序列化字段?
如果我沒有在json POST請求中提交「first_name」或「last_name」,我會得到一個關鍵錯誤。
class UserCreateSerializer(serializers.ModelSerializer):
class Meta:
model = get_user_model()
fields = ('id', 'email', 'first_name', 'last_name')
read_only_fields = ('id',)
def create(self, validated_data):
user = get_user_model().objects.create(
email=validated_data['email'],
first_name=validated_data['first_name'],
last_name=validated_data['last_name']
)
user.save()
return user