我想使用DRF提供的序列化程序将类实例保存在数据库中。 序列化器:
class PersonSerializer(serializers.ModelSerializer):
class Meta:
model = Person
fields = '__all__'
在这里我尝试保存实例:
p = Person(Name = "Test")
_srlz = PersonSerializer(data = p)
实际情况稍微复杂一点,但原理相同。 不幸的是,数据-_srlz.data为空。因此,如果我尝试通过_srlz.save()方法保存数据,则没有任何变化。 否则,如果我请求存在的对象
p = Person.objects.filter(id = 1)
_srlz = PersonSerializer(data = p)
然后我的_srlz.data将不为空。
如果数据源不是JSON对象而是模型类实例,该如何保存该对象?我应该先对其进行序列化然后再次反序列化吗?
我已经尝试保存由模型默认管理器提供的调用.save()方法的实例,但是我想将模型和服务方法分开,以便所有由序列化程序执行的数据库操作。 还是在这种情况下还可以,因为我不处理纯JSON,而是处理模型实例?但是我该如何验证数据?