Skip to main content
 首页 » 编程设计

python之如何在 django 模型的字段中保存单个空格 ("")

2025年01月19日26JeffreyZhao

我的模型定义如下:

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