我的模型定义如下:
class MyModel(models.Model):
tag_separator = models.CharField(max_length=1, null=True, blank=True)
tag_separator是单个字符,可以是单个空格:""。
我需要选择 null=True 才能使其正常工作,但是当我通过 REST API 发布数据时,它将 tag_separator 保存为空字符串:“tag_separator”:“”。
有没有一种简单的方法可以阻止 Django 假设我的单个空格字符串是空字符串?
我正在使用:Django==1.11 和 djangorestframework==3.7.7
请您参考如下方法:
在你的Serializer上,传入trim_whitespace=False进入您的 CharField。即:
class MyModelSerializer(serializers.ModelSerializer):
tag_separator = serializers.CharField(trim_whitespace=False)
class Meta:
model = MyModel
同样,当你使用django的表单时,使用strip=False :
class MyModelForm(forms.ModelForm):
tag_separator = forms.CharField(strip=False)
class Meta:
model = MyModel
