【发布时间】:2022-11-01 21:51:24
【问题描述】:
我有 JSONField 的模型和序列化程序
class Profile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
detail = models.JSONField(default=dict)
def __str__(self):
return self.user.username
class ProfileSerializer(ModelSerializer):
class Meta:
model = m.Profile
fields = '__all__'
然后,我想将数据设置为序列化程序类,
然而不知何故serializer.is_valid() 失败了。
我已经测试了两个 pettern data1 data2
temp_data = {"data":"test"}
data1 = {"detail":temp_data} # test_data1
data2 = {"detail":json.dumps(temp_data)} # test_data2
print(data1) # {'detail': {'data': 'test'}}
print(data2) # {'detail': '{"data": "test"}'}
instance = self.get_object()
serializer = self.get_serializer(instance,data = data1) # or data2
if serializer.is_valid():
# serializer
else:
print("is_valid failed")
我应该给这个序列化器什么数据?
有什么方法可以调试 is_valid() 吗?
【问题讨论】:
标签: python django django-rest-framework