隐含所有模型字段时使用CreateAPIView(django-rest-framework)

时间:2013-10-10 10:35:45

标签: python django django-rest-framework

我有以下情况:

我有一个FooModel,一个FooModelSerializer序列化程序和一个AddFooObject视图,它继承了我想在DB中添加记录的CreateAPIView通用视图。我的问题是FooModel中的所有字段都是隐式的(如当前时间,系统信息等信息)。我尝试通过在pre_save方法中添加它来解决这个问题,但是流程没有到达那里,因为当它收到请求时,它会查找模型中存在的字段并且找不到它们,从而返回{{1 }和HTTP_400_BAD_REQUEST

是否有可能使用通用视图,从模型中排除所有字段并仅在"foo_field": ["This field is required."]方法中添加它们,还是应该使用普通视图?

提前致谢!

1 个答案:

答案 0 :(得分:2)

您需要将pre_save中隐含设置的每个字段标记为read_only。这将阻止他们按要求对待,从而消除错误。

有关详细信息,请参阅the docs on the serializer field core arguments

我希望有所帮助。