django - Django 表单集中每个表单的初始数据不同

标签 django django-forms

是否可以为每一行预填充不同数据的表单集?我想将一些信息放在以前 View 的隐藏字段中。

根据文档,您只能全面设置初始值。

最佳答案

如果你犯了和我一样的错误,那么你对文档的理解有点错误。

当我第一次看到这个例子时...

formset = ArticleFormSet(initial=[
 {'title': 'Django is now open source',
  'pub_date': datetime.date.today(),}
])

我假设每个表单都根据字典获得相同的一组初始数据。

但是,如果仔细观察,您会发现表单集实际上传递的是一个字典列表。

为了给表单集中的每个表单设置不同的初始值,您只需要传递包含不同数据的字典列表即可。

Formset = formset_factory(SomeForm, extra=len(some_objects)
some_formset = FormSet(initial=[{'id': x.id} for x in some_objects])

关于django - Django 表单集中每个表单的初始数据不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897756/

相关文章:

python - 我使用 python(django 框架)从 google api 获取请求 token ,但请求 token 总是返回空的

jquery - 将其他数据获取到 django 表单下拉选择中

python - Django 表单 - 验证错误后重新加载时变量类型发生变化

django - 我应该使用 request.POST 或 form.cleaned_data 中的文本吗

python - Django 将功能添加到模板中的按钮

django - 无法使用 django-registration 创建用户配置文件

Django 找不到设置

python - 保存模型后调用函数

python - Django 表单返回 is_valid() = False 并且没有错误

python - Django:在没有 javascript 的情况下添加内联表单集行