默认情况下,我的django模型有一个自动生成的id字段作为主键,在我的db上默认名为'id'。
因此我的模型有许多其他字段,我使用Django模型形式有选择地显示。在这样做的时候,我为这个自动生成的id字段指定了'id',但我的表单根本没有在HTML上显示或生成这个字段,即使它似乎将其识别为有效字段。
我还通过对字段执行“全部”进行检查,但这也没有引入该特定字段。有趣的是django确实将这个字段识别为'id',因为如果我将其更改为'Id'或其他随机的东西,它会立即给我一个错误,例如“为...指定的未知字段(Id) ..“在我的forms.py
上这个'id'非常重要,因为我在客户端使用Ajax链接和检索相关对象。如果这不起作用,那么我将被迫使用另一个字段作为主键。有什么建议吗?
答案 0 :(得分:1)
我最终使用了' mastazi'将此id作为隐藏字段传递。
我所做的就是访问这个隐藏字段并将其生成为html元素。由于我使用的是crispy_forms布局,因此我可以在布局下使用HTML元素。
form_id= self.instance.id
id_hidden = '<input type="hidden" id="form_id" value=' + str(form_id) +' />'
我不确定这是否是一个完美的解决方案但是有效。