昨天我张贴的问题 ,并找到了解决这一问题。 然而,该解决方案所造成的另一个问题。
请看看这个问题,所以我没有重复的内容。
在可浏览的API关于“CLASS_NAME”的值在PUT形式不显示。
渲染HTML看起来是这样的:
<div class="form-group ">
<label class="col-sm-2 control-label ">
Class
</label>
<div class="col-sm-10">
<input name="class_name" class="form-control" type="text">
</div>
</div>
对其他字段它正确地显示的值,例如:
<div class="form-group ">
<label class="col-sm-2 control-label ">
Order
</label>
<div class="col-sm-10">
<input name="order" class="form-control" value="Carnivora" type="text">
</div>
</div>
以下是截图能说明问题:
您可以看到,对于关键的“类”的价值是存在的。 输入元素的名称,以及该模型中的字段名称是“CLASS_NAME”。
我戳周围的源代码,并发现该形式的文件中呈现renderers.py
按照下面的顺序:
- 在类
BrowsableAPIRenderer
方法get_context
创建窗体,并调用方法get_rendered_html_form
。 - 该方法
get_rendered_html_form
调用该方法render_form_for_serializer
。 - 该方法
render_form_for_serializer
调用该方法render
之类的HTMLFormRenderer
。
但我仍然不知道在哪里干涉,我应该改变。
此外,我试图执行方法to_internal_value
在串行器,但是这仅仅是为反序列化和具有无关的形式呈现。
有没有人有一个想法,问题出在哪里,什么可以做?
UPDATE
我创建了GitHub的回购协议的代码。 您可以克隆它或叉子,并设法帮助我。
非常感谢!