我的序列化程序,非常基本:
class TestSerializer(serializers.Serializer):
date_time = serializers.DateTimeField()
希望从shell中试用,但每次尝试检查验证时都会得到False
。
> import datetime
> s=TestSerializer({'date_time': datetime.datetime(year=2012,month=12,day=12)}
> s.data
{'date_time': datetime.datetime(2012, 12, 12, 0, 0)}
> s.is_valid()
False
> s.errors
{u'non_field_errors': [u'No input provided']}
这是为什么?发生了什么事?
答案 0 :(得分:7)
我认为您需要明确指定数据:
s = TestSerializer(data={'date_time': datetime.datetime(year=2012,month=12,day=12)}
否则它假定第一个参数是模型实例,但这不是这种情况。