Django Django如何知道哪个formset是

时间:2016-01-20 14:40:23

标签: python django

  1. 假设我有一个直接对应ModelFormset的模型。
  2. 假设模型的三个实例保存在数据库中。
  3. 假设我使用初始数据=三个实例
  4. 加载了ModelFormset
  5. 现在我在页面上渲染ModelFormset供用户修改。
  6. 修改后,用户点击提交。我如何知道哪个ModelFormset对应于保存在数据库中的Model的哪个实例?
  7. 更新

    我正在阅读这个例子:https://docs.djangoproject.com/en/1.9/topics/forms/formsets/#formsets-initial-data

    在此示例中,手动提供初始数据。假设初始数据是否像这样传递:

    article = Article.objects.get(pk=...)
    formset = ArticleFormSet(initial=[
        model_to_dict(article)
    ])
    

    当这个formset发送到模板时,文章的ID是否保留在呈现的HTML中?如果没有,那么Django如何知道如果对文章进行了修改并提交了哪篇文章应该更新呢?

1 个答案:

答案 0 :(得分:0)

如果ModelForm中有一个现有实例(或者在ModelFormset中的一组实例中),则会有一个隐藏字段,其中包含记录主键的值。

每个ModelForm每个字段都有一个唯一的后缀,这有助于区分哪些字段属于同一个模型。