Jef*_*a H 3 python django django-rest-framework
我试图JSONField在 Django 中使用 a ,有时我需要它为 null,所以我用 定义它null=True, blank=True,但是当我使用序列化器验证时,我得到my_data: [This field can't be null]. 这是我的代码:
模型.py
class MyModel(models.Model):
my_data = models.JSONField('data', null=True, blank=True, editable=False)
Run Code Online (Sandbox Code Playgroud)
序列化器.py
class MyModelSerializer(serializers.ModelSerializer):
my_data = serializers.JSONField()
class Meta:
model = MyModel
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
视图.py
def save_my_data(self, request):
info['my_data'] = None
serializer = serializers.MyModelSerializer(data=info)
# validate the data
print( serializer.is_valid() ) #returns False
print( serializer.errors ) #returns my_data: [This field can't be null]
Run Code Online (Sandbox Code Playgroud)
对此有什么建议吗?提前致谢。
在序列化器中设置allow_null=True:
class MyModelSerializer(serializers.ModelSerializer):
my_data = serializers.JSONField(allow_null=True)
Run Code Online (Sandbox Code Playgroud)
在 DRF 中allow_null是False默认的,即使您的模型配置为接受null.
| 归档时间: |
|
| 查看次数: |
4782 次 |
| 最近记录: |