我有一个内联模型formset,并且我想让字段不可编辑,如果这些字段在页面加载时已经有值。如果用户点击该行上的“编辑”按钮,它将变得可编辑,并且(使用JavaScript),我将用可编辑的替换原始小部件。我想在加载页面时做这样的事情:Django:如何使内联模型formset中的字段默认为不可编辑?
for field in form.fields:
if field.value:
# display as text
else:
# display as my standard editable widget for this field
我看到inlineformset_factory
有一个名为formfield_callback
参数。我怀疑这可能是有用的,但是因为我没有找到任何文档。任何人都可以为我指出一些有用的文档,以及它如何帮助我解决这个问题?
好吧,我需要检查一个实例对象,不是initial_data,但我看到你在说什么。问题是,我从那里做什么?如何修改ModelForm的__init__方法中的字段小部件? – Jeff 2009-10-14 19:46:00
没关系。 self.fields ['fieldname']。widget ... – Jeff 2009-10-14 19:50:47