我有以下情况:
我有一个FooModel,一个FooModelSerializer序列化程序和一个AddFooObject视图,它继承了我想在DB中添加记录的CreateAPIView通用视图。我的问题是FooModel中的所有字段都是隐式的(如当前时间,系统信息等信息)。我尝试通过在pre_save
方法中添加它来解决这个问题,但是流程没有到达那里,因为当它收到请求时,它会查找模型中存在的字段并且找不到它们,从而返回{{1 }和HTTP_400_BAD_REQUEST
。
是否有可能使用通用视图,从模型中排除所有字段并仅在"foo_field": ["This field is required."]
方法中添加它们,还是应该使用普通视图?
提前致谢!
答案 0 :(得分:2)
您需要将pre_save
中隐含设置的每个字段标记为read_only
。这将阻止他们按要求对待,从而消除错误。
有关详细信息,请参阅the docs on the serializer field core arguments。
我希望有所帮助。